Python 第三节 第十三课

举报
我是小白呀iamarookie 发表于 2021/09/11 00:45:34 2021/09/11
【摘要】 [toc] 生成器推导式创建元组      从形式上看, 生成器推导与列表推导式类似, 只是生成器推导式使用小括号. 列表推导式直接生成列表对象, 生成器推导式生成的不是列表也不是元组, 而是一个生成器对象.     我们可以通过生成器对象, 转化成列表或者元组. 也可以使用生成器...

[toc]

生成器推导式创建元组

     从形式上看, 生成器推导与列表推导式类似, 只是生成器推导式使用小括号. 列表推导式直接生成列表对象, 生成器推导式生成的不是列表也不是元组, 而是一个生成器对象.

    我们可以通过生成器对象, 转化成列表或者元组. 也可以使用生成器对象的__next__() 方法进行遍历, 或者直接作为迭代器对象来使用. 不管什么方式使用, 元素访问结束后, 如果需要重新访问其中的元素, 必须重新创建该生成器对象.

>>> s = (x*2 for x in range(5))

>>> s

<generator object <genexpr> at 0x0000000002BDEB48>

>>> tuple(s)

(0, 2, 4, 6, 8)

>>> lsit(s)      #只能访问一次元素. 第二次就为空了. 需要再生成一次

[]

>>>s

<generator object <genexpr> at 0x0000000002BDEB48>

>>> tuple(s)

0

>>> s = (x*2 for x in range(5))

>>> s.__next__()

0

>>> s.__next__()

2

>>> s.__next__()

4

元组总结

    1. 元组的核心特点是:不可变序列.

    2. 元组的访问和处理速度比列表块

    3. 与整数和字符串一样, 元组可以作为字典的键, 列表则永远不能作为字典的键使用.

 

 

 

文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。

原文链接:iamarookie.blog.csdn.net/article/details/108837212

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。