创建
list((3, 5, 7, 8, 9))
list(range(1, 10, 2))
list('hello world')
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
list({3, 5, 7})
# 把key转化为列表
list({'a':3, 'b':9, 'c':78})
['a', 'b', 'c']
# 将'key:value'转化成列表
list({'a':3, 'b':9, 'c':78}.items())
[('a', 3), ('b', 9), ('c', 78)]
# 空列表
x = list()
del x删除
访问
支持双向访问
x = list('pyhton')
x[0]
'p'
x[-1] # 最后一个
'n'
插入
a.append(4) # 尾部插入
a.insert(index, value) # 指定位置插入
a.insert([5, 6, 7]) # 尾部插入多个元素
删除
x.pop(index) # 弹出并返回index处元素,默认为尾部
x.remove(value) # 删除首个值为value的元素
del x[index] # 删除index处的元素
其它
- clear() : 清空列表内所有对象
- count(value) : 返回value的出现次数
- index(value) : value第一次出现的位置
- reverse() : 反转
- sort() : 排序
运算符
+ , + = +, += +,+=
x = x + [4] # 新列表,涉及大量复制,比较慢
x += [4] # 在原序列上进行操作
∗ * ∗
x = x * 2 # 新列表,是原列表再复制一遍到尾部
x *= 2 # 原地址操作
关系运算符
[1, 2, 4] > [1, 2, 3, 5] # 逐位比较
True
切片
[start = 0:end = length:step = 1]
step为负数时,表示反向切片
插入
aList[len(List):] = [9, 8] # 尾部增加元素
aList[:0] = [1,2] # b头部增加元素
aList[4:4] = [5] # 中间插入元素
修改
aList[:3] = [1, 2, 3] # 从0开始替换三个(需要保持长度一致)
aList[3:] = [4, 5, 6] # 此时可以随便增加元素
aList[::2] = ['a', 'b', 'c'] # 隔一个修改一个
删除
aList[:3] = [] # 删除前三个
aList[3:6] = [] # 删除3~6的元素
del aList[:3] # 也可配合del