声明一个列表在内存中会有一块连续的内存空间来存放多个值,依次把对象的地址存放在列表中,列表本身也是一个对象赋值给变量a
列表的创建 a = [] ,a = list()
a = [] 创建一个空列表
a =list() 用于可迭代对象的数据转化为列表
字符串转化为列表: >>> a = list("gaoqi,sxt") >>> ['g', 'a', 'o', 'q', 'i', ',', 's', 'x', 't']
方法 |
要点 |
描述 |
list.append(x) |
增加元素 |
将元素 x 增加到列表 list 尾部 |
list.extend([aList]) |
增加多个元素 |
将列表 alist 所有元素加到列表 list 尾部 |
list.insert(index,x) |
增加元素 |
在列表 list 指定位置 index 处插入元素 x |
list.remove(x) |
删除元素 |
在列表 list 中删除首次出现的指定元素 x |
list.pop(index) |
删除元素 |
删除并返回列表 list 指定为止 index 处的元素,默认是最后一个元素 |
list.clear() |
删除所有元素 |
删除列表所有元素,并不是删除列表对象 |
list.index(x) |
访问元素 |
返回第一个 x 的索引位置,若不存在 x 元素抛出异常 |
list.count(x) |
计数 |
返回指定元素 x 在列表 list 中出现的次数 |
len(list) |
列表长度 |
返回列表中包含元素的个数 |
list.reverse() |
翻转列表 |
所有元素原地翻转 |
list.sort() |
排序 |
所有元素原地排序 |
list.copy() |
浅拷贝 |
返回列表对象的浅拷贝 |
列表的插入和删除都涉及到元素的拷贝和移动,当元素对象庞大时不建议使用。
del 和 pop 用到列表的下表位索引。pop默认为最后一个而remove是使用元素对象,删除首次出现的此对象
del a.[1] a.pop(1) a.remove(12)
range()创建整数列表
range([start,] end [,step])
start 参数:可选,表示起始数字。默认是 0
end 参数:必选,表示结尾数字。
step 参数:可选,表示步长,默认为 1
python3 中 range()返回的是一个 range 对象,而不是列表。我们需要通过 list()方法将其转换成列表对象。
>>> list(range(3,15,2))
[3, 5, 7, 9, 11, 13]
>>> list(range(15,3,-1))
[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]
>>> list(range(3,-10,-1))
[3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
index()获得指定元素在列表中首次出现的索引
index(value,[start,[end]]) 还可以指定位置
count()获得指定元素在列表中出现的次数
len()返回列表长度
判断列表中是否存在指定的元素, in 关键字来判断,直接返回 True 或 False。
操作和说明 |
示例 |
结果 |
[:] 提取整个列表 |
[10,20,30][:] |
[10,20,30] |
[start:]从 start 索引开始到 结尾 |
[10,20,30][1:] |
[20,30] |
[:end]从头开始知道 end-1 |
[10,20,30][:2] |
[10,20] |
[start:end]从 start 到 end-1 |
[10,20,30,40][1:3] |
[20,30] |
[start:end:step] 从 start 提 取到 end-1,步长是 step |
[10,20,30,40,50,60,70][1:6: 2] |
[20, 40, 60] |
示例 |
说明 |
结果 |
[10,20,30,40,50,60,70][-3:] |
倒数三个 |
[50,60,70] |
10,20,30,40,50,60,70][-5:-3] |
倒数第五个到倒数第三个(包头不包尾) |
[30,40] |
[10,20,30,40,50,60,70][::-1] |
步长为负,从右到左反向提取 |
[70, 60, 50, 40, 30, 20, 10] |
列表的排序
a = [ 1,2,35,2,]
a.sort() #默认为升序 a.sort(reverse = True) #设置成降序
>>> import random #导入随机模块
>>> random.shuffle(a) #调用方法列表a随机排序
内置函数 sorted() 排序 生成新的列表对象
s=sorted(a) #升序 s2 = sorted(a,reveser = True)#降序