1. list方法总结
-
list.append(x)
在list的最后增加一个元素,与a[len(a):] = [x]相同 -
list.extend(L)
在list的最后增加另一个list的所有元素,与a[len(a):] = L相同
a = [1, 2, 3]
b = [4, 5, 6]
a.append(b)
#[1, 2, 3, [4, 5, 6]]
a.extend(b)
#[1, 2, 3, 4, 5, 6]
- list.insert(i, x)
在给定位置插入一个元素,第一个参数是要插入位置,如果是a.insert(0, x),则是插入到list的最前面。a.insert(len(a), x) == a.append(x) - list.remove(x)
把第一个value为x的元素移除,如果没有会报错 - list.pop([i])
把list中某个位置的元素移除,然后return it。如果没有指出位置,则移除list中最后的元素 - list.index(x)
返回第一次出现元素x的index,如果没有会报错 - list.count(x)
返回x在这个list中出现的次数 - list.sort()
把list排序in place - list.reverse()
reverse in place
2. 把list当stack用
用append和pop,时间复杂度O(1)
3. 把list当queue用
也可以把list当queue用,但是在list的头节点插入或者移去元素会比较慢,因为所有的其他节点都要左或者右移
4. 其他
vec = [2, 4, 6]
[3*x for x in vec]
#[6, 12, 18]
[[x, x**2] for x in vec]
#[[2, 4], [4, 16], [6, 36]]
freshfruit = [' banana', ' loganberry ', 'passion fruit ']
[weapon.strip() for weapon in freshfruit]
#['banana', 'loganberry', 'passion fruit']
[3*x for x in vec if x > 3]
#[12, 18]
[3*x for x in vec if x < 2]
#[]