一、切片css
L[0:3]、
L[:3]、L[3:]、L[-1:]、
L[:10:2]、
L[::5]
python
tuple也是一种list,惟一区别是tuple不可变。所以,tuple也能够用切片操做,只是操做的结果还是tuple。函数
字符串'xxx'
也能够当作是一种list,每一个元素就是一个字符。所以,字符串也能够用切片操做,只是操做结果还是字符串。spa
二、迭代code
在Python中,迭代是经过for ... in
来完成的。对象
只要是可迭代对象,不管有无下标,均可以迭代索引
默认状况下,dict迭代的是key。若是要迭代value,能够用for value in d.values()
,若是要同时迭代key和value,能够用for k, v in d.items()
。字符串
字符串也可迭代。generator
判断是否可迭代:经过collections模块的Iterable类型判断。string
isinstance('abc', Iterable) # str是否可迭代
enumerate
函数能够把一个list变成索引-元素对
三、列表生成式
[结果计算式 for x in range(a, b) if 条件判断]
两层循环: [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
四、生成器(generator)
一边循环一边计算的机制,节省了大量的空间。
原理:在for
循环的过程当中不断计算出下一个元素,并在适当的条件结束for
循环。
五、迭代器
能够直接做用于for
循环的数据类型有如下几种:
一类是集合数据类型,如list
、tuple
、dict
、set
、str
等;
一类是generator
,包括生成器和带yield
的generator function。
生成器都是Iterator
对象,但list
、dict
、str
虽然是Iterable
,却不是Iterator
。把list
、dict
、str
等Iterable
变成Iterator
可使用iter()
函数