python語言的一大優(yōu)點就是簡潔大方容易上手,而列表推導式這一特性無疑是非常python的一種特性,它能讓你的代碼簡潔到窒息。
小舉一個例子,比如你想得到1:10之間所有的偶數(shù),最直接的方法就是寫一個循環(huán):
result = []
for i in range(1, 11):
if i%2 == 0
result.append(i)
需要四行來實現(xiàn),如果選擇列表推導式呢?
[i for i in range(1, 11) if i%2==0 ]
一行解決問題!是不是很方面?。磕闵踔量梢远鄬忧短资褂猛茖?,比如
[ [i+2 for i in list_1] for list_1 in list_2]
除來列表,詞典也支持推導式,比如你有key列表,value列表,生成詞典
{ki: vi for ki, vi in zip(key, value)}
節(jié)省了些for循環(huán)的時間,香!
當然簡潔有時會犧牲一定的可讀性,如果你套了三層的推導式,我想負責檢查你代碼的同學很有可能想掐死你。最后提醒大家推導式雖好,可不要“貪杯”哦!