python的list的用法其实有很多,这里就练习几个常用的吧。
这里是S的几个函数
Operation | Result | Notes |
s[i] = x | item i of s is replaced by x | |
s[i:j] = t | slice of s from i to j is replaced by the contents of the iterable t | |
del s[i:j] | same as s[i:j] = [] | |
s[i:j:k] = t | the elements of s[i:j:k] are replaced by those of t | -1 |
del s[i:j:k] | removes the elements of s[i:j:k] from the list | |
s.append(x) | appends x to the end of the sequence (same as s[len(s):len(s)] = [x]) | |
s.clear() | removes all items from s (same as del s[:]) | -5 |
s.copy() | creates a shallow copy of s (same as s[:]) | -5 |
s.extend(t) | extends s with the contents of t (same as s[len(s):len(s)] = t) | |
s.insert(i, x) | inserts x into s at the index given by i (same as s[i:i] = [x]) | |
s.pop([i]) | retrieves the item at i and also removes it from s | -2 |
s.remove(x) | remove the first item from s where s[i] == x | -3 |
s.reverse() | reverses the items of s in place | -4 |
好像找到中文版了,补充一下哈:
方法 | 描述 |
---|---|
list.append(x) | 把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]。 |
list.extend(L) | 通过添加指定列表的所有元素来扩充列表,相当于 a[len(a):] = L。 |
list.insert(i, x) | 在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 a.insert(0, x) 会插入到整个列表之前,而 a.insert(len(a), x) 相当于 a.append(x) 。 |
list.remove(x) | 删除列表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误。 |
list.pop([i]) | 从列表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。元素随即从列表中被删除。(方法中 i 两边的方括号表示这个参数是可选的,而不是要求你输入一对方括号,你会经常在 Python 库参考手册中遇到这样的标记。) |
list.clear() | 移除列表中的所有项,等于del a[:]。 |
list.index(x) | 返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误。 |
list.count(x) | 返回 x 在列表中出现的次数。 |
list.sort() | 对列表中的元素进行排序。 |
list.reverse() | 倒排列表中的元素。 |
list.copy() | 返回列表的浅复制,等于a[:]。 |
接下来是我的测试:
定义
>>> list = ['a','b','c','d']
>>> list
['a', 'b', 'c', 'd']
索引
>>> list[0]
'a'
>>> list[-1]
'd'
>>> list[1:3] #获取[1,3)区间的元素
['b', 'c']
追加和插入
>>> list.append('e') #尾部追加
>>> list
['a', 'b', 'c', 'd', 'e']
>>> list.insert(1,'a2') #下标插入
>>> list
['a', 'a2', 'b', 'c', 'd', 'e']
>>> list.extend(['f','g','h']) #尾部追加list
>>> list
['a', 'a2', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
检索
>>> list.index('a2')
1
>>> 'b2' in list
False
运算符
>>> list += ['i','j']
>>> list
['a', 'a2', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
>>> list = ['a','b']*3
>>> list
['a', 'b', 'a', 'b', 'a', 'b']
join用法
>>> params ={'one':'first','two':'twice','three':'third'}
>>> ['%s=%s' % (k,v) for k,v in params.items()]
['three=third', 'one=first', 'two=twice']
>>> list = '&&'.join(['%s=%s' % (k,v) for k,v in params.items()])
>>> list
'three=third&&one=first&&two=twice'
分割
>>> list.split('&&')
['three=third', 'one=first', 'two=twice']
>>> list.split('&&',1) #第二个参数为分割次数
['three=third', 'one=first&&two=twice']
映射和过滤
>>> list = [1,2,3,4]
>>> list = [elem*2 for elem in list]
>>> list
[2, 4, 6, 8]
>>> list = [elem for elem in list if elem >2]
>>> list
[4, 6, 8]
>>> list = [1,2,3,4,5,6,1,1,2,3,4]
>>> list
[1, 2, 3, 4, 5, 6, 1, 1, 2, 3, 4]
>>> list = [elem for elem in list if list.count(elem) > 1]
>>> list
[1, 2, 3, 4, 1, 1, 2, 3, 4]
删除操作
>>> list.remove(1) #删除首次出现的值
>>> list
[2, 3, 4, 1, 1, 2, 3, 4]
>>> list.pop() #删除尾部元素,并且返回
4
>>> list
[2, 3, 4, 1, 1, 2, 3]