一直在用list,遇到不懂就Google,对于一些基础而细节的知识点,感觉总结一下,以后常看可能会更好。
序列:列表和元组
序列中最常用的莫过于列表和元组了。还包括:字符串,Unicode字符串,buffer对象和xrange对象。这里不得不提到容器(container)。序列和映射是两类主要的容器。这里注意区分Set这种容器既不是序列也不是映射。
注意:序列是可以修改的,而元组是不可以的。
序列的操作
所有的序列都是可以进行某些特定的操作,包括:迭代(iteration),索引(indexing),分片(slicing),加(adding),乘(multiplying),计算长度,最大值,最小值等等。
索引
访问某一个元素,索引0返回第一个,-1 返回最后一个元素1
2
3str = 'Hello'
str[0] #'H'
str[-1] #'o'
分片
访问一定范围内的元素,通过冒号隔开连个索引值。 注意: 返回值不包含最后的索引值本身。1
2
3str = 'Hello world python'
str[1:6] #'ello` '
str[9:-2] #'ld pyth'
只要分片左边的索引值比它右边的晚出现在序列中,结果就是空。1
2str = 'Hello world python'
str[-2:0] #'[]'
如果不填右边的索引值呢? 分片就会包括到序列结尾的元素。对于不填写左边同样原理1
2
3str = 'Hello world python'
str[-2:] #'on'
str[:2] #'He'
新的元素: 步长(step length):上文不填写,默认步长为1. 当然可以进行设置,如2.1
2
3str = '123456789'
str[0:7:2] #'135'
str[::2] #'135'
步长不可为0,但可以为负数。1
2str = '123456789'
str[7:0:-1] #'65432'
序列相加 使用加运算符,相同类型可以进行链接操作
1 | [1,2,3,4,5] + [6,7,8,9] = [1,2,3,4,5,6,7,8,9] |
序列乘法
用数字N乘以一个序列,这个序列会被重复N次
1
2'python' * 5 = 'pythonpythonpythonpythonpython'
[42]* 3 = [42,42,42]None, 空列表和初始化
如果想创建一个占用10个元素空间,但是不含有任何内容的列表,我们可以使用None:1
[None] * 10 #'[None,None,None,None,None,None,None,None,None,None]'
检查成员 使用 in
1 | users = ['mlh','foo','bar'] |
长度,最小值,最大值
使用内建函数:len, min, max.
More info: list
赋值, 删除, 替换
1 | arr = list('hello') |
####列表方法
1.append 2.count 3.extend 4.index 5.insert 6.pop 7.remove 8.reverse 9.sort || sorted(Key和Reverse)
1 | numbers = [0,9,3,1,5,6] |