跳至內容

使用者: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 作索引時,總會返回一個子列表。

in / not in

[編輯 | 編輯原始碼]
print(1 in a, 1 not in a) #可以用比较表达式 in / not in 判断元素是否在列表中。

和字符串不同,innot 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)               #输出:[]