• 【Python⑤】python序列---list和tuple


    sequence 序列

    sequence(序列)是一组有顺序的对象的集合。序列可以包含一个或多个元素,也可以没有任何元素。

    我们之前所说的基本数据类型,都可以作为序列的对象。对象还可以是另一个序列。序列有两种:list (表) 和 tuple(元组) 。

    list和tuple的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。

    List

    获得list元素的个数:

    >>> lst=['更新慢','python',5.44,False]
    >>> len(lst)
    4

    引用访问时索引是从0开始,注意不要越界:

    >>> lst[0]
    '更新慢'
    >>> lst[1]
    'python'
    >>> lst[2]
    5.44
    >>> lst[3]
    False
    >>> lst[4]
    Traceback (most recent call last):
      File "<pyshell#30>", line 1, in <module>
        lst[4]
    IndexError: list index out of range

    -1做索引,直接获取最后一个元素:

    >>> lst[-1]
    False
    >>> lst[-2]
    5.44
    >>> lst[-3]
    'python'
    >>> lst[-4]
    '更新慢'
    >>> lst[-5]
    Traceback (most recent call last):
      File "<pyshell#35>", line 1, in <module>
        lst[-5]
    IndexError: list index out of range

    因为list是一个可变的有序表,所以,可以往list末尾追加元素:

    >>> lst.append('加我一个')
    >>> lst
    ['更新慢', 'python', 5.44, False, '加我一个']

    一次追加多个元素:

    >>> lst.extend(['A','B','C'])
    >>> lst
    ['更新慢', 'python', 5.44, False, '加我一个', 'A', 'B', 'C']

    要删除list末尾的元素,用pop()方法:

    >>> lst.pop()
    'C'
    >>> lst
    ['更新慢', 'python', 5.44, False, '加我一个', 'A', 'B']

    删除指定位置的元素,用pop(i)方法,其中i是索引位置:

    >>> lst.pop(0)
    '更新慢'
    >>> lst
    ['python', 5.44, False, '加我一个', 'A']

    list元素替换,可以直接赋值给对应的索引位置:

    >>> lst[-1]='100'
    >>> lst
    ['python', 5.44, False, '加我一个', '100']

    list元素也可以是另一个list,插入的那个list只算一个元素:

    >>> lst.append(lst1)
    >>> lst
    ['python', 5.44, False, '加我一个', '100', ['666', 'QWER']]
    >>> len(lst)
    6

    Tuple

    Tuple一旦初始化就不能修改。字符串是一种特殊的元素,因此可以执行元组的相关操作。

    >>> str='该睡觉了,晚安!'
    >>> print (str[:7])
    该睡觉了,晚安

    不可变的tuple意义就在于因为不可变,所以代码更安全。如果可能,能用tuple就尽量用tuple。

    >>> tuple=('1','2','3')
    >>> tuple[0]=6
    Traceback (most recent call last):
      File "<pyshell#62>", line 1, in <module>
        tuple[0]=6
    TypeError: 'tuple' object does not support item assignment

    定义一个空tuple:

    >>> tuple1=()
    >>> tuple1
    ()

    注意,要定义一个只有1个元素的tuple:

    >>> tuple2=(666,)
    >>> tuple2
    (666,)              #正确的
    >>> tuple3=(666)
    >>> tuple3
    666                 #错误的,只定义了666这个数

    注意:Tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

    >>> l=['CCTV-5','HI']
    >>> tuple4=('UFO','HACK',l)
    >>> tuple4
    ('UFO', 'HACK', ['CCTV-5', 'HI'])
    >>> l[1]='我先变一下'
    >>> tuple4
    ('UFO', 'HACK', ['CCTV-5', '我先变一下'])

    所以尽量避免这种套用。

    当日小结

    掌握List和Tuple的常用方法以及注意事项。

    联系作者:legendary999@foxmail.com 本文版权归作者所有,欢迎转载,演绎或用于商业目的,但是必须说明本文出处(包含链接)。
  • 相关阅读:
    接口自动化--连接数据库
    接口自动化--日志类封装(logging)
    接口自动化--读取Excel操作(openpyxl)
    接口自动化--requests库封装
    Java 多线程--- 创建线程、Thread类、synchronized
    final 关键字
    static 关键字
    Java异常处理
    String、StringBuilder、StringBuffer
    HashMap / HashTable / HashSet
  • 原文地址:https://www.cnblogs.com/GoGoing/p/3938974.html
Copyright © 2020-2023  润新知