序列解包和生成器表达式

这篇具有很好参考价值的文章主要介绍了序列解包和生成器表达式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

序列解包

可以使用序列解包功能对多个变量同时赋值

(1)

x, y, z = 1, 2, 3
print(x, y, z)

序列解包和生成器表达式,Python,python
必须一一对应

x, y, z = 1, 2 会抛出异常

(2)

括号可加可不加

v_tuple = (False, 3.5, 'abc')
(x, y, z) = v_tuple  # 等价于x, y, z = v_tuple
print(x, y, z)

序列解包和生成器表达式,Python,python

可以对range对象进行解包

x, y, z = range(3)
print(x, y, z)

序列解包和生成器表达式,Python,python

使用迭代器对象进行解包

x, y, z = iter([1, 2, 3])
print(x, y, z)

序列解包和生成器表达式,Python,python

使用map对象进行解包

x, y, z = map(str, range(3))
print(x, y, z)
print((x, y, z))

序列解包和生成器表达式,Python,python

交换两个变量的值

a, b = 1, 2
a, b = b, a
print(a, b)

序列解包和生成器表达式,Python,python

对列表解包

x, y, z = sorted([1, 3, 2])
print(x, y, z)

序列解包和生成器表达式,Python,python

对字符串解包

a, b, c = 'ABC'
print(a, b, c)
print((a, b, c))

序列解包和生成器表达式,Python,python

切片也支持序列解包

x = [1, 2, 3, 4]
x[:3] = map(str, range(3))
print(x)

序列解包和生成器表达式,Python,python

序列解包对于列表和字典同样有效

s = {
    'a': 1,
    'b': 2,
    'c': 3
}
a, b, c = s.items()
print(a)
d, e, f = s  # 默认是键
print(d)

序列解包和生成器表达式,Python,python

python3.5之后的版本支持下面用法的序列解包

print(*[1, 2, 3], 4, *(5, 6))
print(*range(4), 4)
print({*range(4), 4, *(5, 6, 7)})
print({'x': 1, **{'y': 2}})  # 字典解包要用**

序列解包和生成器表达式,Python,python

生成器表达式

  • 生成器表达式的结果是一个生成器(generator)对象
  • 可将其转为列表或元组,也可使用生成器对象__next__()方法或内置函数next()进行遍历,或者将其作为迭代器对象来使用
  • 生成器对象具有惰性求值的特点,只在需要时生成新元素,空间占用非常少,尤其适合大数据处理的场合.类似的还有range对象,zip对象,map对象,enumerate对象,filter对象等
  • 不管用哪种方法访问生成器对象,都无法再次访问已访问过的元素
g = ((i + 2) ** 2 for i in range(10))  # 创建生成器对象
print(g)
print(tuple(g))  # 将生成器对象转换为元组
print(list(g))  # 生成器对象已遍历结束,没有元素了

序列解包和生成器表达式,Python,python

使用生成器对象 __ next __ ()方法或内置函数next()进行遍历

g = ((i + 2) ** 2 for i in range(10))  # 创建生成器对象
print(g.__next__())  # 使用生成器对象的__next__()方法获取元素
print(g.__next__())  # 获取下一个元素
print(next(g))  # 使用函数next()获取生成器对象中的元素
print(list(g))

序列解包和生成器表达式,Python,python

使用for循环直接迭代生成器对象中的元素

g = ((i + 2) ** 2 for i in range(10))
for item in g:  # 使用循环直接遍历生成器对象中的元素
    print(item, end=' ')

序列解包和生成器表达式,Python,python文章来源地址https://www.toymoban.com/news/detail-722585.html

到了这里,关于序列解包和生成器表达式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES6生成器,看似同步的异步流程控制表达风格

    本文分享自华为云社区《3月阅读周·你不知道的JavaScript | ES6生成器,看似同步的异步流程控制表达风格》,作者: 叶一一。 JavaScript开发者在代码中几乎普遍依赖的一个假定:一个函数一旦开始执行,就会运行到结束,期间不会有其他代码能够打断它并插入其间。 ES6引入了

    2024年04月10日
    浏览(34)
  • 序列号及序列号生成器(号段模式,数据库模式)详细介绍(建议收藏)

    现如今,数据的唯一性和可追溯性变得越来越重要。从简单的数据库主键到复杂的分布式系统,唯一标识符在各种场景中都发挥着关键作用。序列号,作为一种广泛应用的唯一标识符,为我们提供了确保数据完整性和一致性的基础。在这个背景下,高效、可靠的序列号生成器

    2024年02月03日
    浏览(45)
  • 免杀对抗-Python-混淆算法+反序列化-打包生成器-Pyinstall

    cs 上线 1. 生成 shellcode-c 或者 python 2. 打开 pycharm 工具,创建一个 py 文件,将原生态执行代码复制进去 shellcode 执行代码: 3.将生成的shellcode放到执行代码中,运行代码,cs成功上线 MSF 上线 1.执行命令,生成shellcode 命令:msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.206.129

    2024年02月09日
    浏览(38)
  • 手机通话记录生成器在线,通话记录生成器下载,通话记录生成器app

    在了解通话记录生成器app的时候,铁牛通话记录生成器是一个为用户一键自动生成通话记录的app。如何得到“铁牛通话记录生成器”?在手机上进去佰渡baidu搜嗦,铁牛通话记录生成器,这几个字就可以,其他的不用输入。或者你看这个几个字母jp155再加上一个点com,手动输入

    2024年02月08日
    浏览(54)
  • ai论文生成器哪家好用?ai写作生成器免费

    AI论文生成器的好坏取决于具体的需求和场景,因此很难一概而论。以下是一些常见的AI论文生成器,供您参考: AIPaperPass:这是一款全智能自动写作平台,拥有自主模型并对外开放API接口。它可以根据用户提供的和要求,自动生成高质量的文章内容,并且支持批量写作

    2024年01月19日
    浏览(59)
  • 关键词生成器在线-在线免费关键词生成器

    生成,什么是生成,生成就是根据你输入的一个生成成千上百的核心,围绕着你输入的核心词来生成的,优先生成大量用户搜索的,今天就给大家分享一款免费生成工具,生成的来源主要是用户都在搜索的词,相关搜索的

    2024年02月04日
    浏览(123)
  • AI绘画生成器推荐AI绘画自动生成器有哪些?

    1、DALL-E2 DALL-E2 是由 OpenAI 开发的 AI 图像生成器。只需几分钟,你就可以使用 AI 创建高度逼真的图像。 2、Deep Dream Generator Deep Dream是一个经过数百万张图像训练的神经网络。使用方便,只需要上传一张图片,工具即可根据原图生成新图片。 3、Artbreeder Artbreeder一款图像质量增

    2024年02月06日
    浏览(61)
  • 淘宝无痕下单生成器一拖多入口生成器(附api生成接口以代码)

    淘宝无痕下单生成器的用途是:通过无痕下单生成器生成的二维码,用户通过扫码直接无痕下单的,电商后台只显示成交,但是没有路径,什么都没有,没有痕迹,即使通过淘宝生意参谋流量路径、访客人数等数据都无法显示。可快速带动搜索权重,获得

    2024年02月12日
    浏览(81)
  • ai绘画生成器有哪些?分享3款好用的ai自动绘画生成器

    文字和绘画是两种看似不同的艺术形式,但它们之间却有着一种神奇的联系。你或许曾经在一些创意绘画作品中发现过使用文字进行表达的元素,那么,文本究竟如何生成这些令人惊叹的艺术作品呢?今天,我们就来探索一下文字怎样可以生成创意绘画。 方法一:使用AI图片

    2024年02月10日
    浏览(44)
  • 【信号生成器】从 Excel 数据文件创建 Simulink 信号生成器块研究(Simulink)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 要从

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包