【python】切片哲身、迭代、列表生成器

  • 切片
    切片 L [起始 : 結(jié)束(不包含) : 方向(負(fù)數(shù)為倒著間隔)]
    L[0:3]L[0]贸伐、L[1]勘天、L[2],及即包含第一個(gè)捉邢,但不包含最后一個(gè)
    前后省略:前后都包括脯丝。L[:3]即從第一個(gè)取到L[2]元素,L[3:]從第L[3]取到最后一個(gè)
    倒數(shù)切片:負(fù)數(shù)為倒著切伏伐。L[-2:]即從倒數(shù)第二個(gè)取到最后一個(gè)宠进,L[-2:-1]從倒數(shù)第二個(gè)取到倒數(shù)第一個(gè),但不包含倒數(shù)第一
    間隔切片:即第三個(gè)參數(shù)是間隔個(gè)數(shù)藐翎。L[:10:2]取到的是[0, 2, 4, 6, 8]材蹬,
    L[::5]表示所有數(shù),每五個(gè)取一個(gè),為[0, 5, 10, 15, 20]
    L[::-2]表示為[9, 7, 5, 3, 1]
    切片類型:什么類型被切片吝镣,切完還是什么類型堤器。tuple和string都可以切

  • 迭代
    通過for循環(huán)來遍歷這個(gè)listtuple,這種遍歷我們稱為迭代
    list末贾、tuple闸溃、dict、字符串都可迭代

#dict的迭代未舟,dict 是無序的圈暗,故每次打印的可能不一樣
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:                    #鍵
...     print(key) 
>>> for value in d.values()   :      #值
...     print(value)
>>> for k,v in d.items():            #鍵值對(duì)
...     print(k,':',v)

如何判斷一個(gè)對(duì)象是可迭代對(duì)象呢掂为?
方法是通過collections模塊的Iterable類型判斷:

>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整數(shù)是否可迭代
False

enumerate函數(shù)可以把一個(gè)list變成 索引-元素對(duì)

>>> for i, value in enumerate(['A', 'B', 'C']):
...     print(i, value)
...
0 A
1 B
2 C
>>> for x, y in [(1, 1), (2, 4), (3, 9)]:   #在for循環(huán)中引用2個(gè)變量
...     print(x, y)
  • 列表生成器
    將生成的元素x * x放到前面裕膀,后面跟for循環(huán)
>>> [x * x for x in range(1, 11)]  
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
#后加if判斷,可篩選僅偶數(shù)的平方
>>> [x * x for x in range(1, 11) if x % 2 == 0] 
[4, 16, 36, 64, 100]
#使用兩層循環(huán)勇哗,可以生成全排列
>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
#使用兩個(gè)變量字典來生成list
>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }
>>> [k + '=' + v for k, v in d.items()]
['y=B', 'x=A', 'z=C']
#把一個(gè)list中所有的字符串變成小寫
>>> L = ['Hello', 'World', 'IBM', 'Apple']
>>> [s.lower() for s in L]
['hello', 'world', 'ibm', 'apple']
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末昼扛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抄谐,老刑警劉巖渺鹦,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蛹含,居然都是意外死亡毅厚,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門浦箱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吸耿,“玉大人,你說我怎么就攤上這事酷窥⊙拾玻” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵蓬推,是天一觀的道長(zhǎng)妆棒。 經(jīng)常有香客問我,道長(zhǎng)沸伏,這世上最難降的妖魔是什么糕珊? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮毅糟,結(jié)果婚禮上放接,老公的妹妹穿的比我還像新娘。我一直安慰自己留特,他們只是感情好纠脾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜕青,像睡著了一般苟蹈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上右核,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天慧脱,我揣著相機(jī)與錄音,去河邊找鬼贺喝。 笑死菱鸥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的躏鱼。 我是一名探鬼主播氮采,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼染苛!你這毒婦竟也來了鹊漠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎躯概,沒想到半個(gè)月后登钥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡娶靡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年牧牢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姿锭。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡结执,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出艾凯,到底是詐尸還是另有隱情献幔,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布趾诗,位于F島的核電站蜡感,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏恃泪。R本人自食惡果不足惜郑兴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贝乎。 院中可真熱鬧情连,春花似錦、人聲如沸览效。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锤灿。三九已至挽拔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間但校,已是汗流浹背螃诅。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留状囱,地道東北人术裸。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像亭枷,于是被迫代替她去往敵國和親袭艺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容