脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python的列表生成式,生成器和generator对象你了解吗

python的列表生成式,生成器和generator对象你了解吗

2022-11-02 09:37我叫RT Python

这篇文章主要为大家详细介绍了python的列表生成式,生成器和generator对象,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

列表生成式

可以使用列表生成式生成 列表元素。

例如:

python的列表生成式,生成器和generator对象你了解吗

列表还支持 if … else 与 for 循环组合的单行表达式进行初始化。

>>> example = [i*i if i%2 == 0 else 2*i for i in range(1,11)] # 1~10中,奇数*2,偶数平方
>>> print ([i for i in range(1,11)]) # 对照组,1~10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> example
[2, 4, 6, 16, 10, 36, 14, 64, 18, 100]

python的列表生成式,生成器和generator对象你了解吗

当然,if … else 本就支持单行写法。

>>> a = 100
>>> if a < 100:
...     print("lt 100")
... elif a == 100:
...     print("eq 100")
... else:
...     print("gt 100")
...
eq 100
>>>
>>> # 如果将上述if...else写为单行式
... print("lt 100") if a < 100 else print("eq 100") if a == 100 else print("gt 100")
eq 100

python的列表生成式,生成器和generator对象你了解吗

列表表达式初始化 dict 或 set

同时,我们也可以使用单行for初始化 set

python的列表生成式,生成器和generator对象你了解吗

还可以用于提取list的下标与元素,需要注意的是,如果使用:的key:value的形式,最终结果是dict。

python的列表生成式,生成器和generator对象你了解吗

generator对象

探索,是否可以类比上述,生成tuple。当我这么做的时候,结果获得一个generator类型。

python的列表生成式,生成器和generator对象你了解吗

简单来说返回的generator是一个可迭代对象,因此我们尝试使用 for 遍历它的时候,是可以遍历得到其所有数据的。

python的列表生成式,生成器和generator对象你了解吗

而这里的 可迭代对象(Iterable)主要指可以直接作用于for循环的对象(for循环本质上就是通过不断调用next()函数进行迭代)。

包括内置的(list、tuple、dict、set、str等)和生成器(generator)。

生成generator对象

主要有两种方法:

  • 第一种使用()包裹列表生成式
  • 第二种,使用 yield 标记

示例:演示yield

python的列表生成式,生成器和generator对象你了解吗

这里可以通过 next() 获取内部元素

python的列表生成式,生成器和generator对象你了解吗

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容! 

原文链接:https://blog.csdn.net/weixin_43919932/article/details/123469942

延伸 · 阅读

精彩推荐
  • Python对python3标准库httpclient的使用详解

    对python3标准库httpclient的使用详解

    今天小编就为大家分享一篇对python3标准库httpclient的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    路或遥9732021-05-03
  • Pythonpython通过socket实现多个连接并实现ssh功能详解

    python通过socket实现多个连接并实现ssh功能详解

    这篇文章主要介绍了python通过socket实现多个连接并实现ssh功能详解,具有一定参考价值,需要的朋友可以了解下。...

    Bigberg7242020-12-16
  • Python详解将Django部署到Centos7全攻略

    详解将Django部署到Centos7全攻略

    这篇文章主要介绍了详解将Django部署到Centos7全攻略,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    木子昭8322021-04-04
  • Pythonpygame加载中文名mp3文件出现error

    pygame加载中文名mp3文件出现error

    本文主要介绍了pygame加载中文名mp3文件出现error的解决方案。具有很好的参考价值,下面跟着小编一起来看下吧...

    dearvee6662020-09-27
  • Pythonpython读写csv文件实例代码

    python读写csv文件实例代码

    在本篇文章中小编给各位分享了关于python读取和写入csv文件的知识点以及实例代码,需要的朋友们参考下。...

    5422021-08-02
  • PythonPython生成随机数字和字符详情

    Python生成随机数字和字符详情

    这篇文章主要介绍了Python生成随机数字和字符详情,random是python自带库,使用前导入 import random 即可,更多相关内容需要的朋友可以参考一下...

    程序媛_8802022-07-28
  • PythonDjango处理文件上传File Uploads的实例

    Django处理文件上传File Uploads的实例

    今天小编就为大家分享一篇Django处理文件上传File Uploads的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    雜貨鋪老闆7102021-02-26
  • Python利用Python实现一键将头像转成动漫风

    利用Python实现一键将头像转成动漫风

    小编今天将为大家详细介绍如何利用Python语言制作一个UI界面,大家可以通过一键点击就实现头像照片转化成动漫风格的功能,感兴趣的可以动手尝试一下...

    欣一5822022-07-05