python各種推導式

推導式糖权,是Python的一種獨有特性。推導式是可以從一個數(shù)據(jù)序列構建另一個新的數(shù)據(jù)序列的結構體性芬。 共有三種推導,在Python2和3中都有支持:

列表(list)推導式

字典(dict)推導式

集合(set)推導式


一慨蓝、列表推導式

1、使用[]生成list

基本格式

variable = [out_exp_resforout_expininput_listifout_exp == 2]

? out_exp_res:  列表生成元素表達式端幼,可以是有返回值的函數(shù)礼烈。

? forout_expin input_list:  迭代input_list將out_exp傳入out_exp_res表達式中。

? ifout_exp == 2:  根據(jù)條件過濾哪些值可以婆跑。


例一:

multiples = [ i for i in range(30) if i % 3 is 0]

print(multiples)

# Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]


例二:

def squared(x):

? ? returnx*x

multiples = [ squared ( i )? for i in range(30) if i % 3 is 0]

print multiples

#? Output: [0, 9, 36, 81, 144, 225, 324, 441, 576, 729]


2此熬、使用()生成generator

將倆表推導式的[]改成()即可得到生成器。

multiples = ( i for i in range(30) if i % 3 is 0)

print(type(multiples))

# Output:<type 'generator'>



二滑进、字典推導式

字典推導和列表推導的使用方法是類似的犀忱,只不中括號該改成大括號。直接舉例說明:

例子一:大小寫key合并

mcase = {'a': 10,'b': 34,'A': 7,'Z': 3}

mcase_frequency = {

? ? k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0)

? ? for k in mcase.keys()

? ? if k.lower() in ['a','b']

}

print mcase_frequency

#? Output: {'a': 17, 'b': 34}


例子二:快速更換key和value

mcase = {'a': 10,'b': 34}

mcase_frequency = {v: k for k, v in mcase.items()}

print mcase_frequency

#? Output: {10: 'a', 34: 'b'}



三扶关、集合推導式

它們跟列表推導式也是類似的阴汇。 唯一的區(qū)別在于它使用大括號{}。

例一:

squared = {x**2 for x in[1, 1, 2]}节槐、

print(squared)

# Output: set([1, 4])

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末搀庶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子铜异,更是在濱河造成了極大的恐慌哥倔,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揍庄,死亡現(xiàn)場離奇詭異未斑,居然都是意外死亡,警方通過查閱死者的電腦和手機币绩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門蜡秽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缆镣,你說我怎么就攤上這事芽突。” “怎么了董瞻?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵寞蚌,是天一觀的道長。 經常有香客問我钠糊,道長挟秤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任抄伍,我火速辦了婚禮艘刚,結果婚禮上,老公的妹妹穿的比我還像新娘截珍。我一直安慰自己攀甚,他們只是感情好箩朴,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秋度,像睡著了一般炸庞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荚斯,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天埠居,我揣著相機與錄音,去河邊找鬼事期。 笑死拐格,一個胖子當著我的面吹牛,可吹牛的內容都是我干的刑赶。 我是一名探鬼主播捏浊,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼撞叨!你這毒婦竟也來了金踪?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤牵敷,失蹤者是張志新(化名)和其女友劉穎胡岔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枷餐,經...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡靶瘸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了毛肋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怨咪。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖润匙,靈堂內的尸體忽然破棺而出诗眨,到底是詐尸還是另有隱情,我是刑警寧澤孕讳,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布匠楚,位于F島的核電站,受9級特大地震影響厂财,放射性物質發(fā)生泄漏芋簿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一璃饱、第九天 我趴在偏房一處隱蔽的房頂上張望与斤。 院中可真熱鬧,春花似錦、人聲如沸幽告。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冗锁。三九已至,卻和暖如春嗤栓,著一層夾襖步出監(jiān)牢的瞬間冻河,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工茉帅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叨叙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓堪澎,卻偏偏與公主長得像擂错,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子樱蛤,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內容

  • JVM是可運行Java字節(jié)碼文件的虛擬計算機钮呀。所有平臺上的JVM向編譯器提供相同的編程接口,而編譯器只需要面向虛擬...
    bluescorpio閱讀 1,781評論 0 6
  • 歡迎關注微信:簡借(zljianjie)昨凡,更多精彩內容等著您~ 2015年爽醋,“小馬云”因與馬云長得極像而在社交網(wǎng)絡...
    簡借閱讀 270評論 0 2
  • 今天星期日,早晨吃完早點媽媽帶我下樓曬太陽便脊,小區(qū)里好多爺爺奶奶都在鍛煉身體蚂四,有的跳舞,有的打太極哪痰,也有好多小朋友在...
    淇淇小裙子閱讀 171評論 0 0
  • 彈巴赫是在摧殘我的意志!!!!!!!!!!!!!
    卅良女子閱讀 76評論 0 0