1、切片
提取前n個元素,0-(n-1)
>>> l = ['michael', 'sarah', 'tracy', 'bob', 'jack']
>>> l[0:3]
['michael', 'sarah', 'tracy']
#如果第乙個索引是0,可以省略
>>> l[:3]
['michael', 'sarah', 'tracy']
#從倒數第二個取,至最後
>>> l[-2:]
['bob', 'jack']
#前十個數,每兩個取乙個
>>> l = list(range(100))
>>> l[:10:2]
[0, 2, 4, 6, 8]
tuple也是一種list,唯一區別是tuple不可變,tuple也可以進行切片操作,結果仍是tuple
2、迭代
通過for遍歷整個list或tuple的操作稱之為迭代(iteration)。
字典的迭代:
d =
for key in d:
print(key)
字典的迭代預設迭代的是key,如果迭代value可以用 for value in d.values(),如果同時迭代key和value可以用for k, v in d.items()
判斷物件是否可以迭代
>>> from collections import iterable
>>> isinstance('abc', iterable) #可以迭代
true
>>> isinstance(123, iterable) #不可以迭代
false
3、列表生成式
生成[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11))
生成[1*1, 2*2, ..., 10*10]
[x*x for x in range(1, 11)]
生成[2*2, 4*4, ..., 10*10]
[x*x for x in range(1, 11) if x % 2 == 0]
生成全排列
>>> [m + n for m in 'abc' for n in 'xyz']
['ax', 'ay', 'az', 'bx', 'by', 'bz', 'cx', 'cy', 'cz']
由字典生成list
>>> d =
>>> [k + '=' + v for k, v in d.items()]
['y=b', 'x=a', 'z=c']
把list中所有的字串換成小寫
>>> [s.lower() for s in l]
上述操作同樣適應於tuple,只需把改為()
python筆記八(切片)
一 切片 首先我們要記得在python中可以用於切片的物件有列表 元組 字串。切片操作就是直接從列表 元組或字串中,選擇出我們想要的內容,這些操作非常簡潔實用。l list range 20 l 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 l ...
python 切片,迭代
切片 slice 操作符 其格式為 列表 元組 名 舉個例子 我們想提取前三科成績 score 數學 90 語文 89 英語 87 物理 77 化學 90 print score 0 3 結果 數學 90 語文 89 英語 87 像上面的例子score 0 3 表示的是從索引0開始取,直到索引3為止...
Python學習筆記 切片
學習廖雪峰python教程所得。1.切片 slice 可用於list tuple或字串。以list為例 l a b c d e 切片操作符 l x y z x y z 切片索引,x是左端,y是右端,z是步長,在 x,y 區間從左到右每隔z取值,預設z為1可以省略z引數。步長的負號就是反向,從右到左取...