User:Xyy23330121/Python/列表
外观
用方括号括起来,不被解释为索引的的内容会被视为列表。列表是由一系列变量组成的,每个变量之间由逗号,
分隔。
a = [0, 1, 'string'] #列表中可以包含多种不同变量。
b = [] #可以创建空列表。
除此之外,列表中的元素也可以为列表。
c = [[0, 1], 2]
列表的一些基本方法如下:
print(a) #列表可以被打印,本行的输出同时也是str(a)的结果。
print(a + [3]) #列表支持和列表之间的加法,加法的结果为拼接前后两列表。
print(a * 2) #列表支持与整数作乘法,乘法的结果为生成重复 n 次的列表。
print(len(a)) #可以通过 len(a) 得到列表长度。
print(a[2]) #列表支持索引。索引的方式和字符串类似。
print(a[::2])
和字符串返回对应位置的单个字符组成的字符串不同,在使用整数作索引时,列表会返回对应位置的元素。而使用 slice 作索引时,总会返回一个子列表。
print(1 in a, 1 not in a) #可以用比较表达式 in / not in 判断元素是否在列表中。
和字符串不同,in
和not in
只判断元素是否是列表的元素,不会判断子列表是否在列表内。比如:
print([0,1] in [0,1,2]) #输出:False
print("01" in "012") #输出:True
除此之外,我们之前提到过字符串是不可变序列。而列表是可变序列,可变序列均支持以下操作:
a = [0, 1, "Python"]
a[2] = 2 #对元素进行直接修改。
print(a) #输出:[0, 1, 2]
a[2:] = [5, 3, 4] #对子序列进行直接修改。
print(a) #输出:[0, 1, 5, 3, 4]
del a[2] #删除序列中元素
print(a) #输出:[0, 1, 3, 4]
del a[1::2] #按子序列删除元素
print(a) #输出:[0, 3]
a.clear() #删除其中一切元素
print(a) #输出:[]