百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

pthon每天学习一点点(元组推导式,生成器)

off999 2024-11-27 18:44 96 浏览 0 评论

在python中,元组类似于列表,但是又有不同的地方,两者的主要区别如下:

1、列表可变,元组不可变。

2、列表可以使用诸如append(),remove()、pop()、extend()等方法实现修改元素,而元组则没有这些方法。

列表推导式可以直接输出列表中的各个元素,而元组推导式则需要使用tuple()函数转换为元组。

list1 = [i for i in range(10)]
print(list1)
# 输出结果为[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

tuple1 = (i for i in range(10,20))
print(tuple1)
# 输出结果为<generator object <genexpr> at 0x0000000000D96140>

 以上两个结果输出不同,列表直接输出列表,而元组则输出的是生成器对象,如果想将生成器对象变为元组,
则要使用tuple()函数。

优化后的代码:
tuple1 = (i for i in range(10, 20))
'''
输出结果为<generator object <genexpr> at 0x0000000000D96140>
使用tuple()函数,转换为元组。
'''
number = tuple(tuple1)
print(number)
# 输出结果为(10, 11, 12, 13, 14, 15, 16, 17, 18, 19)

如何遍历生成器中的各个元素呢?

1、使用for循环

tuple1 = (i for i in range(10, 20))
for i in tuple1:
    print(i,end=' ')
# 输出如下结果:10 11 12 13 14 15 16 17 18 19 
print(tuple(tuple1))    # 输出空元组()

2、使用__next()__方法:

tuple1 = (i for i in range(10, 20))

print(tuple1.__next__())     # 输出10
print(tuple1.__next__())     # 输出11
print(tuple1.__next__())     # 输出12
.
.
.
print(tuple1.__next__())     # 输出19
最后输将生成器转换为元组:
print(tuple(tuple1))           # 输出()空元组

所以,不论使用哪种方法遍历生成器对象,遍历后的生成器对象不存在了。如果想再次使用生成器对象,需要重新创建。

相关推荐

win11安卓子系统安装(win11安卓子系统安装不了)

具体操作如下:  1、首先,我们要确保自己的电脑支持虚拟化。  2、如果没有开启的话,可以进入windows功能中开启它。  3、接着我们去系统设置中将区域更改为“美国”  4、修改完成后进入微软商店...

windows7产品密钥在哪里可以查看

1、电脑用户点击“开始菜单”,然后点击菜单列表中的“附件”,最后点击“附件”中的“命令提示符”程序。2、命令提示符查看步骤二:打开“命令提示符”程序后,在界面中输入命令“slmgr.vbs-dlv”...

华硕电脑官方旗舰店(华硕电脑官方旗舰店直播)

没有。华硕并没有官方的直接销售产品的网络购物平台,一般都是其由代理商或授权商出售华硕的产品。如JD、天猫等网络购物平台上均有华硕的官方授权店铺。有。华硕官方授权的专卖店、售后维修点,支持华硕笔记本电...

win10电脑开机密码忘了(win10电脑开机密码忘了不用u盘)
  • win10电脑开机密码忘了(win10电脑开机密码忘了不用u盘)
  • win10电脑开机密码忘了(win10电脑开机密码忘了不用u盘)
  • win10电脑开机密码忘了(win10电脑开机密码忘了不用u盘)
  • win10电脑开机密码忘了(win10电脑开机密码忘了不用u盘)
winrar个人免费版去广告(winrar5.91去广告)

免费版是有广告的即使注册也会有广告商业版没有广告,但需要注册后才没有。winrar打开有广告屏蔽方法:1、电脑桌面新建一个txt文件,重命名为“rarreg.key”2、将.key文件用记事本方式打开...

香港代理服务器ip(香港的代理服务器)

香港最好的服务器是双向cn2+移动+联通三线优化直连的,性能配置都非常高,而且速度还非常稳定。主机侦探:因为不像国内的服务器有电信移动联通这种,走的是国际带宽,访问速度快,价格方案也比较丰富,可以...

电脑网页截图快捷键(电脑网页快捷截屏)

有五种截屏方式:第一种:PrScrn使用这个键截屏,获得的是整个屏幕的图片;第二种:Ctrl+PrScrn使用这个组合键截屏,获得的是整个屏幕的图片;第三种:Alt+PrScrn这个组...

手机改ip的软件哪个好用(改ip地址手机app)

打开手机,找到手机的系统“设置”,点击“设置”进入手机的设置界面。2.进入到设置界面后,点击“WLAN”。进入Wifi无线网设置界面。3.连接一个WiFi。4.查看wifi信号的相关信息,点击“修改网...

安装声卡驱动找不到设备(声卡驱动搜索不到)

您好,如果声卡驱动程序显示未插入音频设备,则可能有以下几种原因:1.音频设备没有正确连接到电脑的音频插口或USB接口上,或者连接不牢固。2.音频设备的驱动程序没有正确安装或需要更新。3.操作系统...

office2010 toolkit激活教程
  • office2010 toolkit激活教程
  • office2010 toolkit激活教程
  • office2010 toolkit激活教程
  • office2010 toolkit激活教程
在手机上怎样修改wifi密码(手机上怎样修改wifi密码192.168.0.1)
  • 在手机上怎样修改wifi密码(手机上怎样修改wifi密码192.168.0.1)
  • 在手机上怎样修改wifi密码(手机上怎样修改wifi密码192.168.0.1)
  • 在手机上怎样修改wifi密码(手机上怎样修改wifi密码192.168.0.1)
  • 在手机上怎样修改wifi密码(手机上怎样修改wifi密码192.168.0.1)
win10会自己安装驱动吗(win10自己安装的驱动稳定吗)

windows10安装驱动是自动安装所有可识别的驱动,系统中也集成网卡驱动。软件工具:windows101、在安装windows10系统时会自动安装驱动。自动安装驱动的前提是该硬件驱动包含在系统中。有...

佳能打印机故障一览表(佳能打印机故障灯亮了怎么办)

佳能打印机出现错误代码6000的主要原因如下:1、光栅的传感器坏了或者是脏了,更换或者清理一下;2、送纸器没有回位,这个时候只要轻轻的把送纸器弄回位,然后再开机就能正常打印了。一般情况下出现这样的...

手机qq修改密码的方法(如何用手机qq修改密码)

首先很高兴回答你!其次你的密码忘记了,如果绑定手机号码或者邮箱可以辅助找回密码的。但是如果你都没有绑定那就只能通过好友辅助验证,或者回答安全问题进行验证,通过后就可以修改密码了!以后建议你设置一个你记...

游戏大全免费安装(老爹系列游戏大全免费安装)

在XboxOne上,有一些游戏不需要进行安装就可以玩。1.原因是XboxOne上支持云游戏服务,例如XboxGamePass和ProjectxCloud,这些游戏可以流式传输到你的控制台,...

取消回复欢迎 发表评论: