美文网首页
Python基础(三)-列表和元组

Python基础(三)-列表和元组

作者: 皮卡丘的电光一闪 | 来源:发表于2020-05-25 10:02 被阅读0次
    列表list

    内置的一种数据类型是列表:list。list是一种有序合计,可以随时添加和删除其中的元素。

    >>> classmates = ['Michael', 'Bob', 'Tony']
    >>> classmates
    ['Michael', 'Bob', 'Tony']
    # 用len()函数可以获得list元素的个数
    >>> len(classmates)
    3
    # 用索引访问list中每一个位置的元素,索引是从0开始的
    >>> classmates[0]
    'Michael'
    >>> classmates[1]
    'Bob'
    >>> classmates[2]
    'Tony'
    >>> classmates[3]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: list index out of range
    

    如果要取得最后一个溯源,除了计算索引位置外,还可以用-1直接获取最后一个元素

    >>> classmates[-1]
    'Tony'
    

    list是一个有序列表,可以往list中追加元素到末尾、指定的位置,删除末尾的元素,删除指定位置的元素,替换某个元素。

    # 追加元素到末尾append(obj)
    >>> classmates.append('Adam')
    >>> classmates
    ['Michael', 'Bob', 'Tony', 'Adam']
    # 追加元素到指定的位置 insert(index, obj)
    >>> classmates.insert(1, 'Jack')
    >>> classmates
    ['Michael', 'Jack', 'Bob', 'Tony', 'Adam']
    # 删除末尾的元素pop()
    >>> classmates.pop()
    'Adam'
    >>> classmates
    ['Michael', 'Jack', 'Bob', 'Tony']
    # 删除指定位置的元素pop(index)
    >>> classmates.pop(1)
    >>> classmates
    ['Michael', 'Bob', 'Tony', 'Adam']
    # 替换某个元素
    >>> classmates[1] = 'Sarah'
    >>> classmates
    ['Michael', 'Sarah', 'Tony']
    

    list中的元素,数据类型也可以不同

    >>> L = ['Apple', 123, True]
    
    元组tuple

    另一种有序列表叫元组:tuple,和list非常类似,但是tuple一旦初始化就不能修改,它没有append(),insert()这种方法,不过它获取元素的方法和list是一样。

    当定义只有一个元素的tuple的时候,当t = (1)时,控制台输出的是1 不是(1),小括号会被认为是数学公式中的小括号,会产生歧义,所以,当只有一个元素的tuple定义时,必须加一个逗号消除歧义

    >>> t = (1)
    1
    >>> t = (1,)
    (1,)
    

    最后看一个'可变的'tuple

    >>> t = ('a', 'b', ['A', 'B'])
    >>> t[2][0] = 'X'
    >>> t[2][1] = 'Y'
    >>> t 
    ('a', 'b', ['X', 'Y'])
    

    为什么说t是一个可变的tuple,不是说tuple是定义后不可变的吗?

    从上述t可以看出,t包含三个元素,两个字符串,一个list列表。从表面上看,tuple的元素确实发生了改变,但是,其实改变的是tuple中第三个元素list的元素,但tuple第三个元素的指向没有发生改变。如果将tuple中的第三个元素指向另外的list或者别的数据类型,就会报错。即:

    >>> t = ('a', 'b', ['A', 'B'])
    >>> t[2] = 'c'
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object does not support item assignment
    
    list的函数和方法
    序号 函数(方法)
    1 list.append(obj)
    在列表末尾添加新的对象
    2 list.count(obj)
    统计某个元素在列表中出现的次数
    3 list.extend(seq)
    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    4 list.index(obj)
    从列表中找出某个值第一个匹配项的索引位置
    5 list.insert(index, obj)
    将对象插入列表
    6 list.pop([index=-1])
    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    7 list.remove(obj)
    移除列表中某个值的第一个匹配项
    8 list.reverse()
    反向列表中元素
    9 list.sort( key=None, reverse=False)
    对原列表进行排序
    10 list.clear()
    清空列表
    11 list.copy()
    复制列表
    12 len(list)
    列表元素个数
    13 max(list)
    返回列表元素最大值
    14 min(list)
    返回列表元素最小值
    15 list(seq)
    将元组转换为列表
    tuple的内置方法
    序号 方法及描述 实例
    1 len(tuple)
    计算元组元素个数。
    >>> tuple1 = ('Google', 'Runoob', 'Taobao')>>> len(tuple1) 3
    2 max(tuple)
    返回元组中元素最大值。
    >>> tuple2 = ('5', '4', '8')>>> max(tuple2) '8'
    3 min(tuple)
    返回元组中元素最小值。
    >>> tuple2 = ('5', '4', '8')>>> min(tuple2) '4'
    4 ** tuple(iterable)**
    将可迭代系列转换为元组。
    >>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']>>> tuple1=tuple(list1)>>> tuple1 ('Google', 'Taobao', 'Runoob', 'Baidu')

    相关文章

      网友评论

          本文标题:Python基础(三)-列表和元组

          本文链接:https://www.haomeiwen.com/subject/etjeahtx.html