列表的常用方法如下图所示
append()方法示例如下:
>>> a=[20,40]
>>> a.append(80)
>>> a
[20, 40, 80]
+运算符操作方法(不建议使用)
>>> a=[20,40]
>>> id(a)
2486769557384
>>> a=a+[50]
>>> a
[20, 40, 50]
>>> id(a)
2486769557000
extend()方法 不创建新的列表
>>> a=[20,40]
>>> id(a)
2486769429448
>>> a.extend([50,60])
>>> a
[20, 40, 50, 60]
>>> id(a)
2486769429448
>>> a.extend([(50,60)])
>>> a
[20, 40, 50, 60, (50, 60)]
>>> id(a)
2486769429448
insert()方法在指定的位置插入元素 (涉及大量元素时避免使用)
>>> a=[10,20,30]
>>> a.insert(1,100)
>>> a
[10, 100, 20, 30]
乘法扩展列表
>>> a=["pipi","xx"]
>>> b=a*3
>>> b
['pipi', 'xx', 'pipi', 'xx', 'pipi', 'xx']
del删除的方法使用 不推荐使用
>>> a=[100,200,300,400]
>>> del a[3]
>>> a
[100, 200, 300]
>>> del a[0]
>>> a
[200, 300]
pop()方法删除**
pop()方法有返回值,如果未指定位置,则默认删除最后一个元素
>>> a=[10,20,30,40,50]
>>> b=a.pop()
>>> b
50
>>> print(a)
[10, 20, 30, 40]
也可以指定位置删除
>>> a=[10,20,30,40,50]
>>> a.pop(2)
30
>>> a
[10, 20, 40, 50]
remove()方法
此方法是删除首次出现的指定元素,若元素不存在,则会抛出异常
>>> a=[10,20,30,40,50,20,30,40]
>>> a.remove(20)
>>> a
[10, 30, 40, 50, 20, 30, 40]
>>> a.remove(100) #删除的元素不存在,下方抛出了异常
Traceback (most recent call last):
File "<pyshell#124>", line 1, in <module>
a.remove(100)
ValueError: list.remove(x): x not in list
列表的取值
取值的区间是在 [0,列表长度-1] 这个范围内,超过范围会抛出异常
>>> a=[10,20,30,40,50,20,30,40]
>>> a[3]
40
index()方法获取指定的元素 在列表中首次出现的索引
>>> a=[10,20,30,40,50,20,30,20,30]
>>> a.index(20)
1
>>> a.index(20,3) #索引位置3开始往后搜索第一个20
5
>>> a.index(30,5,7) #索引位置5-7区间内搜索第一个30
6
count()方法获取指定元素在列表中出现的次数
>>> a=[10,20,30,40,50,20,30,20,30]
>>> a.count(30)
3
len()返回列表的长度
>>> a=[10,20,30,40,50,20,30,20,30]
>>> len(a)
9
成员资格判断
>>> a=[10,20,30,40,50,20,30,20,30]
>>> 20 in a
True
>>> 100 not in a
True
>>> 100 in a
False
列表的切片
标准格式为 [起始start:结束end:step步长] (包头不包尾)
列表的排序sort()方法 默认reverse=False是升序排序
>>> a=[20,10,30,50,40]
>>> a.sort()
>>> a
[10, 20, 30, 40, 50]
>>> a.sort(reverse=False) #reverse=False 可以不写
>>> a
[10, 20, 30, 40, 50]
>>> a.sort(reverse=True)
>>> a
[50, 40, 30, 20, 10]
max和min返回列表的最大值和最小值
>>> a=[2,10,30,5,40]
>>> max(a)
40
>>> min(a)
2
sum 对数值型的所有元素求和,对非数值型列表运算会报错
>>> a=[2,10,30,5,40]
>>> sum(a)
87
二维列表
示例代码如下:
>>> a = [["小二", 18, "北京"],
["小三", 19, "深圳"],
["小四", 20, "上海"]
]
>>> a
[['小二', 18, '北京'], ['小三', 19, '深圳'], ['小四', 20, '上海']]
>>> a[0]
['小二', 18, '北京']
>>> a[0][2]
'北京'
a = [["小二", 18, "北京"],
["小三", 19, "深圳"],
["小四", 20, "上海"]
]
for n in range(3):
for m in range(3):
print(a[n][m], end="\t")
print("")
上面代码块的运行结果如下:
小二 18 北京
小三 19 深圳
小四 20 上海
创建列表的四种方式
1,基本语法 [ ] 创建
>>> a=[0, 1, 2]
>>> a=[] #创建空列表
>>> a.append(10)
>>> a
2,使用list()函数创建列表
>>> a=list() #创建一个空的列表对象
>>> a=list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a=list("pipi,lxx") #把字符串放进列表
>>> a
['p', 'i', 'p', 'i', ',', 'l', 'x', 'x']
3,使用range()方法创建整数列表
语法格式为 range([start], end, [step])
start参数:可选,表示起始数字,默认是0
end参数:必写,表示结尾数字
step参数:可选,表示步长,默认是1
注:range()返回的是一个range对象,而不是列表。
需要通过list()方法将其转换为列表对象
IDLE环境下示例代码如下:
>>> list(range(3,15,2))
[3, 5, 7, 9, 11, 13]
>>> list(range(15,3,-2))
[15, 13, 11, 9, 7, 5]
>>> list(range(15,3,-1))
[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]
>>> list(range(-10,-33,-2))
[-10, -12, -14, -16, -18, -20, -22, -24, -26, -28, -30, -32]
4,使用for循环或者if语句,推导式生成列表
>>> a=[x*2 for x in range(5)]
>>> a
[0, 2, 4, 6, 8]
>>> a=[x*2 for x in range(100) if x%9 == 0]
>>> a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]