列表是最常用的 Python 数据类型,它用一个方括号内的逗号分隔值出现,列表的数据项不需要具有相同的类型。
列表中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。列表都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。
1. 列表基本操作
1.1. 创建列表
list1 = [1, 2, 3, 4, 5 ]
list2 = ["a", "b", "c", "d"]
list3 = ['Google', 'Runoob', 1997, 2000]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
1.2. 访问列表元素
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
# red
print( list[1] )
# green
print( list[2] )
# blue
索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。
代码如下所示:
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
# black
print( list[-2] )
# white
print( list[-3] )
# yellow
1.3. 更新列表元素
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
# 第三个元素为 : 1997
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
# 更新后的第三个元素为 : 2001
1.4. 删除列表元素
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
# 原始列表 : ['Google', 'Runoob', 1997, 2000]
del list[2]
print ("删除第三个元素 : ", list)
# 删除第三个元素 : ['Google', 'Runoob', 2000]
2. 列表常见操作
2.1. 获取列表长度
list = ['AAA', 'BBB', "CCC", "DDD"]
print(len(list))
# 4
2.2. 多个列表拼接
A = ["AAA", "BBB", "CCC", "DDD"]
B = ["EEE", "FFF", "GGG", "HHH"]
C = A + B
print(C)
# ['AAA', 'BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG', 'HHH']
2.3. 重复列表中的内容
A = ["AAA", "BBB", "CCC", "DDD"]
B = A * 2
print(B)
# ['AAA', 'BBB', 'CCC', 'DDD', 'AAA', 'BBB', 'CCC', 'DDD']
2.4. 判断是否存在列表中
list = ["AAA", "BBB", "CCC", "DDD"]
result = "AAA" in list
print(result)
# True
2.5. 列表迭代
list = ["AAA", "BBB", "CCC", "DDD"]
for x in list:
print(x, end="-")
# AAA-BBB-CCC-DDD-
2.6. 列表截取
list = ["AAA", "BBB", "CCC", "DDD","EEE","FFF","GGG","HHH","FFF"]
resultA = list[1:]
print(resultA)
# ['BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG', 'HHH', 'FFF']
resultB = list[1:-1]
print(resultB)
# ['BBB', 'CCC', 'DDD', 'EEE', 'FFF', 'GGG', 'HHH']
resultC = list[1:-1:2]
print(resultC)
# ['BBB', 'DDD', 'FFF', 'HHH']
2.6. 列表嵌套
A = ["AAA","BBB","CCC"]
B = ["DDD","EEE","FFF"]
C = [A,B]
print(C)
# [['AAA', 'BBB', 'CCC'], ['DDD', 'EEE', 'FFF']]
2.7. 列表比较
# 导入 operator 模块
import operator
a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
# operator.eq(a,b): False
print("operator.eq(c,b): ", operator.eq(c,b))
# operator.eq(c,b): True