概述
# 列表推导式 lis = [i for i in range(10)] print(lis) # 生成器表达式 crt = (i for i in range(10)) print(crt) print(crt.__next__()) print(crt.__next__()) print(crt.__next__()) #打印: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <generator object <genexpr> at 0x00000188F0FED9C8> 0 1 2
结论:
列表推导式和生成器表达式的外部表现方式仅仅是一个中括号和一个小括号的差别;
列表推导式打印出来为一个列表,而生成器表达式返回的是一个生成器,可以从中一条一条的取值
完整的表达式:
(元素 for 元素 in 可迭代数据类型) #遍历之后处理
(元素 for 元素 in 可迭代数据类型 if 元素符合的条件) #筛选
好处:
一定情况下可节省代码行数,提高效率,但如果推导式过于复杂,应该优先考虑可读性
其它推导式
字典推导式和集合推导式:集合推导式有自动排重功能
dic = {'k':5,'v':10} new_dic = {dic[k] : k for k in dic} print(new_dic) st = {1,2,3,1,1,4,} st1 = { i for i in st} st2 = { i for i in {1,2,3,1,1,4,}} print(st1,st2) #打印: {5: 'k', 10: 'v'} {1, 2, 3, 4} {1, 2, 3, 4}
转载于:https://www.cnblogs.com/aizhinong/p/11378750.html
最后
以上就是清新钻石为你收集整理的列表推导式和生成器表达式的全部内容,希望文章能够帮你解决列表推导式和生成器表达式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复