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生成器表达式推导式的主要内容,如果未能解决你的问题,请参考以下文章

python之路---12 生成器 推导式

Python入门-4控制语句:10推导式创建序列-列表推导式-字典推导式-集合推导式-生成器推导式

python函数--生成器,生成器表达式,列表推导式

python推导式创建序列

python开发之路-LuffyCity

Python之第十五天的努力--生成器,列表推导式,生成器表达式,内置函数1(了解)