用戶: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) #输出:[]