Python 3 – 列表
Python中最基本的数据结构就是序列。每个序列中的元素都分配了一个数字,即它的位置或索引。第一个索引是0,第二个索引是1,以此类推。
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
列表= ['物理学', '化学', 1997, 2000]
print ("索引2的值 : ", list[2])
列表[2] = 2001
print ("索引2上的新值 : ", list[2])
注意 − append()方法将在后续部分中讨论。
执行上述代码后,会产生以下结果−
索引2的值 : 1997
索引2上的新值 : 2001
删除列表元素
要删除列表元素,可以使用del语句,如果您确定要删除的元素,则可以使用remove()方法。例如−
#!/usr/bin/python3
list = ['physics', 'chemistry', 1997, 2000]
print (list)
del list[2]
print ("删除索引2上的值后 : ", list)
在上述代码执行后,将产生以下结果−
['physics', 'chemistry', 1997, 2000]
删除索引2上的值后 : ['physics', 'chemistry', 2000]
注意 − remove()方法将在后续部分中讨论。
基本列表操作
列表响应+和*运算符,就像在先前的一章中所用的字符串一样;它们在这里也表示连接和重复,但结果是一个新列表,而不是字符串。
实际上,列表响应我们在先前的章节中在字符串上使用的所有一般序列操作。
Python表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 连接 |
[‘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’ | 偏移从0开始 |
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 插入到列表中的指定位置 index |
6 | list.pop(obj = list[-1]) 移除并返回列表中的最后一个对象或者指定索引位置 obj 的对象 |
7 | list.remove(obj) 移除列表中第一个出现的对象 obj |
8 | list.reverse() 反向列表中的对象 |
9 | list.sort([func]) 对列表中的对象进行排序,如果给出 compare func 函数用于指定比较的操作 |