python语言的一大优点就是简洁大方容易上手,而列表推导式这一特性无疑是非常python的一种特性,它能让你的代码简洁到窒息。
小举一个例子,比如你想得到1:10之间所有的偶数,最直接的方法就是写一个循环:
result = []
for i in range(1, 11):
if i%2 == 0
result.append(i)
需要四行来实现,如果选择列表推导式呢?
[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)}
节省了些for循环的时间,香!
当然简洁有时会牺牲一定的可读性,如果你套了三层的推导式,我想负责检查你代码的同学很有可能想掐死你。最后提醒大家推导式虽好,可不要“贪杯”哦!
网友评论