
上QQ阅读APP看书,第一时间看更新
1.7.3 元组推导式
元组推导式是快速生成元组的方法,但与列表推导式不同,使用元组推导式生成的结果并不是一个元组,而是一个生成器对象,需要通过tuple()函数将生成器对象转换成元组。
示例如下,在Spyder代码编辑区内输入以下代码并逐行运行:
tuple4=(i for i in range(4)) # 生成一个生成器对象,元素为range(4)中的元素 print(tuple4) # 查看tuple4,可以发现为生成器对象,而不是元组 tuple4=tuple(tuple4) # 使用tuple()函数将生成器对象转换为元组 print(tuple4) # 查看tuple4,可以发现生成器对象已经转换为元组
可在IPython控制台看到如图1.50所示的运行结果。

图1.50 运行结果
还可以在Python中直接使用for循环遍历生成器对象,以获得各个元素。示例如下,在Spyder代码编辑区内输入以下代码,然后全部选中并整体运行:
tuple5=(i for i in range(5)) # 生成一个生成器对象,元素为range(5)中的元素 for i in tuple5: # 使用 for循环遍历生成器对象以获得各个元素 print(i,end=',') # 输出元组元素在同一行显示,并且用“,”隔开 print(tuple(tuple5)) # 输出新元组。得到运行结果为:0,1,2,3,4,()