Python 3 - 列表(List)

  • 简述

    Python中最基本的数据结构是sequence. 序列的每个元素都分配有一个数字 - 它的位置或索引。第一个索引为零,第二个索引为一,依此类推。
    Python 有六种内置类型的序列,但最常见的是列表和元组,我们将在本教程中看到它们。
    您可以对所有序列类型执行某些操作。这些操作包括索引、切片、添加、乘法和检查成员资格。此外,Python 具有用于查找序列长度以及查找其最大和最小元素的内置函数。
  • Python 列表

    列表是 Python 中可用的最通用的数据类型,它可以写成方括号之间以逗号分隔的值(项)的列表。关于列表的重要一点是列表中的项目不必是同一类型。
    创建列表就像在方括号之间放置不同的逗号分隔值一样简单。例如 -
    
    list1 = ['physics', 'chemistry', 1997, 2000];
    list2 = [1, 2, 3, 4, 5 ];
    list3 = ["a", "b", "c", "d"];
    
    与字符串索引类似,列表索引从 0 开始,列表可以被切片、连接等。
  • 访问列表中的值

    要访问列表中的值,请使用方括号与索引一起进行切片以获得该索引处可用的值。例如 -
    
    #!/usr/bin/python3
    list1 = ['physics', 'chemistry', 1997, 2000]
    list2 = [1, 2, 3, 4, 5, 6, 7 ]
    print ("list1[0]: ", list1[0])
    print ("list2[1:5]: ", list2[1:5])
    
    执行上述代码时,会产生以下结果 -
    
    list1[0]:  physics
    list2[1:5]:  [2, 3, 4, 5]
    
  • 更新列表

    您可以通过在赋值运算符的左侧给出切片来更新列表的单个或多个元素,并且可以使用 append() 方法添加到列表中的元素。例如 -
    
    #!/usr/bin/python3
    list = ['physics', 'chemistry', 1997, 2000]
    print ("Value available at index 2 : ", list[2])
    list[2] = 2001
    print ("New value available at index 2 : ", list[2])
    
    Note− append() 方法将在后续部分讨论。
    执行上述代码时,会产生以下结果 -
    
    Value available at index 2 :  1997
    New value available at index 2 :  2001
    
  • 删除列表元素

    要删除列表元素,您可以使用del如果您确切知道要删除的元素,请声明。如果您不确切知道要删除哪些项目,可以使用 remove() 方法。例如 -
    
    #!/usr/bin/python3
    list = ['physics', 'chemistry', 1997, 2000]
    print (list)
    del list[2]
    print ("After deleting value at index 2 : ", list)
    
    执行上述代码时,会产生以下结果 -
    
    ['physics', 'chemistry', 1997, 2000]
    After deleting value at index 2 :  ['physics', 'chemistry', 2000]
    
    Note− remove() 方法将在后续部分讨论。
  • 基本列表操作

    列表对 + 和 * 运算符的响应很像字符串;它们在这里也意味着连接和重复,除了结果是一个新列表,而不是一个字符串。
    事实上,列表响应我们在前一章中对字符串使用的所有一般序列操作。
    Python 表达式 结果 描述
    len([1, 2, 3]) 3 长度
    [1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Concatenation
    ['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
    3 in [1, 2, 3] True 成员
    for x in [1,2,3] : print (x,end = ' ') 1 2 3 迭代
  • 索引、切片和矩阵

    由于列表是序列,索引和切片对列表的工作方式与对字符串的工作方式相同。
    假设以下输入 -
    
    L = ['C++'', 'Java', 'Python']
    
    Python 表达式 结果 描述
    L[2] 'Python' 偏移量从零开始
    L[-2] 'Java' 负数:从右数
    L[1:] ['Java', 'Python'] 切片获取部分
  • 内置列表函数和方法

    Python 包括以下列表函数 -
    序号 功能说明
    1 len(list)
    给出列表的总长度。
    2 max(list)
    从列表中返回具有最大值的项目。
    3 min(list)
    从列表中返回具有最小值的项目。
    4 list(seq)
    将元组转换为列表。
    Python 包括以下列表方法 -
    序号 方法与说明
    1 list.append(obj)
    将对象 obj 添加到列表
    2 list.count(obj)
    返回 obj 在列表中出现的次数
    3 list.extend(seq)
    将 seq 的内容附加到列表
    4 list.index(obj)
    返回 obj 出现的列表中的最低索引
    5 list.insert(index, obj)
    将对象 obj 插入列表中的偏移索引处
    6 list.pop(obj = list[-1])
    从列表中删除并返回最后一个对象或 obj
    7 list.remove(obj)
    从列表中删除对象 obj
    8 list.reverse()
    反转列表的对象
    9 list.sort([func])
    对列表的对象进行排序,如果给定则使用比较函数