python之路48生成器表达式推导式
Posted I我的博客I
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之路48生成器表达式推导式相关的知识,希望对你有一定的参考价值。
一、生成器表达式
1、 生成器表达式为:
(结果 for 变量 in 可迭代的对象 if 条件)--》if条件可以省略
ge = (i for i in range(1, 11)) print(ge) # <generator object <genexpr> at 0x0000023EA176B5C8> for elment in ge: print(elment) # 结果从1打印到10 # # 实际相当于 # def ge(): # for i in range(1, 11): # yield i # # for i in ge(): # print(i)
二、推导式
1、列表推导式
[结果 for 变量 in 可迭代的对象 if 条件] --》if条件可以省略
li = [i for i in range(1,11)] print(li) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] li2 = [i for i in range(1,11) if i % 2 == 0] print(li2) #[2, 4, 6, 8, 10]
2、字典推导式
[key:value for 变量 in 可迭代的对象 if 条件} --》if条件可以省略
li1=["黑旋风","花和尚","豹子头","行者"] li2=["李逵","鲁智深","林冲","武松"] dic = {li1[i]:li2[i] for i in range(len(li1))} print(dic) #打印结果 #{‘黑旋风‘: ‘李逵‘, ‘花和尚‘: ‘鲁智深‘, ‘豹子头‘: ‘林冲‘, ‘行者‘: ‘武松‘}
3、集合推导式
{结果 for 变量 in 可迭代的对象 if 条件} --》if条件可以省略}
se = {i for i in range(1,11)} print(se) #{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
4、注意:没有元组推导式,元组推导式的格式被生成器表达式占用
以上是关于python之路48生成器表达式推导式的主要内容,如果未能解决你的问题,请参考以下文章