一、切片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()
函數