跳转到内容

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