Python 知识点全解析系列之列表推导式(list comprehension)
生活随笔
收集整理的這篇文章主要介紹了
Python 知识点全解析系列之列表推导式(list comprehension)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Python里面有個(gè)很棒的語法糖(syntactic sugar),它就是 list comprehension ,可以方便的操作list, dict, set等數(shù)據(jù)結(jié)構(gòu)。有人把它翻譯成“列表推導(dǎo)式”,也有人翻譯成“列表解析式”。名字聽上去很難理解,但是看它的語法就很清晰了。雖然名字叫做 list comprehension,但是這個(gè)語法同樣適用于dict、set等這一系列可迭代(iterable)數(shù)據(jù)結(jié)構(gòu)。
語法規(guī)范:
out_list = [out_express for out_express in input_list if out_express_condition]
其中的 if 條件判斷根據(jù)需要可有可無。
下面看一個(gè)具體的例子,生成一個(gè)包含10以內(nèi)的偶數(shù)的list:
In [1]: evens = [i for i in range(10) if i % 2 == 0] In [2]: evens Out[2]: [0, 2, 4, 6, 8]由for循環(huán)升級到列表推導(dǎo)式:
在沒有了解list comprehension之前,上面那個(gè)生成偶數(shù)list的通常做法是用for循環(huán):
evens = [] for i in range(10): if i % 2 == 0: evens.append(i)很明顯,for循環(huán)占用了4行代碼,而 list comprehension 只用了1行代碼。
文章開始說到推導(dǎo)式的語法規(guī)范時(shí)&
總結(jié)
以上是生活随笔為你收集整理的Python 知识点全解析系列之列表推导式(list comprehension)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tableau实战系列(二十八)-以可视
- 下一篇: tableau实战系列(三十)- 多细节