时光如水,滴沥万物。语言太多,方法更甚,一不注意就忘记了。
遂整理写下备忘,以避之。
list,Python最常用的数据结构,也是其内建的最常用的序列之一。list可以修改,是较之于tuple不同的地方。
list的元素可以包含所有的数据类型,甚至是另一个list。
1 | 这就是一个list |
通用序列操作
索引(index)
序列中的所有元素都有编号,从0开始递增。元素可以通过编号进行访问,这就常说的索引,或者称之为下标
。
如果是用负索引,会从右边最后一个元素开始。最后一个元素的编号是 -1 。1
2
3plist[0] #1
plist[1] #'a'
plist[-1] #12.5
分片(:)
list[index:last-index:step]
通过分片操作来访问一定范围的元素。分片通过冒号:
相隔的两个索引来实现。第一个索引值是需要提取部分的第一个元素的编号,最后的索引值是分片之后剩下部分的第一个元素的编号。可以理解成左闭右开。
1 | plist[0:2] #[1,'a'] |
序列相加(连接操作 + )
只有相同类型的序列才可以进行连接操作
1 | array + plist |
乘法(*)
用数字x乘以一个序列,会生成一个新的序列,在新的序列中,原来的序列会被重复x次。
1 | [12]*10 |
成员资格(in)
检查一个值是否在序列里面。用关键词 in
1 | 'P' in 'Python' # True |
长度(len())最大值(max())最小值(min())
Python的内建函数1
2
3len(array) # 10
max(array) # 9
min(array) # 1
list的基本操作
元素赋值
1 | array[1] = 10 |
删除元素(del)
1 | del array[2] |
分片赋值
1 | 'webapp') > name = list( |
list的方法
append 追加
在列表末尾追加新的对象
1 | array.append(10) |
count 某元素计数
统计某个元素在列表中出现的次数。 返回: 元素次数
1 | >>> [1,2,3,1,2,1,1,1,].count(1) |
extend 扩展
原地操作, 在列表的末尾一次性追加列一个list中的多个值。可以理解成为扩展。
1 | >>> a = [1,2,3] |
index 查找索引位置
在列表中找出某个值第一个匹配的索引位置, 如果没有就会发现一个异常。返回:索引位置
1 | >>> a |
insert 在索引位插入
insert(index, value), 在index 位置插入一个value
1 | >>> a.insert(3,'a') |
pop 移除元素
移除list中的一个元素(默认是最后一个),并返回该元素的值。
1 | >>> a |
remove 移除第一个匹配项
用于移除list中第一个匹配项
1 | > a |
reverse 反转
将list中的元素反向存放
1 | >>> a |
sort 排序
原地操作, 不返回值1
2
3
4
5>>> a
[5, 4, 3, 1]
>>> a.sort()
>>> a
[1, 3, 4, 5]
sorted 排序
非原地操作, 返回一个list
1 | >>> a |
高级排序
sort有两个可选的参数: key 和 reverse
1 | > a |
list()
将序列转换成list
1 | 'webong blog' > ls = |