zoukankan      html  css  js  c++  java
  • 基本的数据类型--序列(sequence)

    1. 概述

    在Python中最基本的数据类型为序列(sequence)

    序列中的每一个元素都有编号,即元素的位置或称之为索引,第一个元素的索引值为0,第二个元素的索引的值为1,以此类推

    Python中的列表、元组、字符串都属于序列,其中列表是可变的(可以修改其中的元素),元组和字符串是不可变的(一旦创建内容就是固定的)

    2. 通用的序列操作

     2.1  索引

    序列中的所有元素都有编号-----从0开始递增

    >>> name = 'zhaoxuehui'
    >>> name[1]
    'h'


    当使用负数索引值时,Python将从右至左查找元素

    >>> name = 'zhaoxuehui'
    >>> name[-1]
    'i'
     

    当然也无需必须将序列赋值给变量,可以直接对其进行操作

    >>> 'zhao'[2]
    'a'
     

    如果函数调用返回一个序列,可以直接对其直接操作

    >>> name = input("what's your name:")[1]
    what's your name:zhaoxuehui
    >>> name
    'h'
     

    2.2 切片

    2.2.1常规切片

    可以使用切片来访问特定范围内的元素,使用两个索引,并用冒号分隔

    >>> name = 'zhaoxuehui'
    >>> name[0 : 4]
    'zhao'

    >>> name[-6 : -3]
    'xue'

    >>> name[ : 4]
    'zhao'

    >>> name[-3 : ]
    'hui'

    >>> name[ : ]
    'zhaoxuehui'

    2.2.2 步长

    执行切片操作的时候,会显示或隐式的指定起点或终点,但通常会省略另一个参数,即步长。在普通切片中默认步长为1,这意味着从一个元素移到下一个元素,因此切片就会包含起点和终点之间的所有元素

    >>> name[0:10:1]
    'zhaoxuehui'


    如果步长大于1,将跳过一些元素,例如,步长为2时,将从起点和终点之间每隔一个元素提取一个元素

    >>> name[0 : 10 : 2]
    'zaxeu'

    >>> name[3 : 6 : 3]
    'o'

    >>> name[ : : 3]
    'zoei'
     

    步长不能为0,否则无法向前移动,但可以为负数,即从右至左提取元素

    >>> name[10 : 0 : -1]
    'iuheuxoah'

    >>> name[::-1]
    'iuheuxoahz'

    >>> name[0 : 10 : -1]
    ' '

    >>> name[5 : : -1]
    'uxoahz'


    >>> name[ : 5 : -1]
    'iuhe'
     

    2.3 序列相加

    可以使用加法运算符拼接相同类型的序列

    >>> [1,2,3] + [4,5]
    [1, 2, 3, 4, 5]

    >>> 'zhao' + 'xue' + 'hui'
    'zhaoxuehui'

    2.4 乘法

    序列与数字x相乘时,将重复这个序列x次来创建一个新序列


    >>> 'zhao' * 3
    'zhaozhaozhao'


    >>> [1,2,3] * 3
    [1, 2, 3, 1, 2, 3, 1, 2, 3]
     

    2.5 成员资格

    检查值是否包含在序列中,可以使用运算符in,检查是否满足条件,并返回相应的值,满足时返回True,不满足时返回False

    >>> name = 'zhaoxuehui'
    >>> 'zhao' in name
    True


    >>> 'a' in ['a','b']
    True

  • 相关阅读:
    error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
    E: 无法获得锁 /var/lib/apt/lists/lock
    卸载nginx
    服务器文件传输
    一些重要的sql命令
    设置某个字段的值是唯一的
    mysql注释的方法
    认证 (authentication) 和授权 (authorization) 的区别
    neutron_lib: 一个进程内的发布与订阅
    人工智能导论作业
  • 原文地址:https://www.cnblogs.com/zhao1126/p/9556496.html
Copyright © 2011-2022 走看看