Python 知识点全解析系列之列表推导式(list comprehension)
【摘要】
Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,可以方便的操作list, dict, set等数据结构。有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”。名字听上去很难理解,但是看它的语法就很清晰了。虽然名字叫做 list comprehen...
Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,可以方便的操作list, dict, set等数据结构。有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”。名字听上去很难理解,但是看它的语法就很清晰了。虽然名字叫做 list comprehension,但是这个语法同样适用于dict、set等这一系列可迭代(iterable)数据结构。
语法规范:
out_list = [out_express for out_express in input_list if out_express_condition]
其中的 if 条件判断根据需要可有可无。
下面看一个具体的例子,生成一个包含10以内的偶数的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循环升级到列表推导式:
在没有了解list comprehension之前,上面那个生成偶数list的通常做法是用for循环:
-
evens = []
-
for i in range(10):
-
if i % 2 == 0:
-
evens.append(i)
很明显,for循环占用了4行代码,而 list comprehension 只用了1行代码。
文章开始说到推导式的语法规范时&
文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。
原文链接:wenyusuran.blog.csdn.net/article/details/112601020
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)