《Python数据处理》7.2.1笔记: zip函数输出为“zip object at 0x00000272CAEDD488”

《Python数据处理》7.2.1笔记:zip函数输出为“zip object at 0x00000272CAEDD488”

一、现象

书中位置:2合并问题与答案的 第三个代码处:

#变量名有不同,原为zipped_data
zip_data = []
for drow in  new_data:
    zip_data.append(zip(head_row, drow))
   #作者是直接打印的
   zip_data[0]

但是直接打印的内容是

<zip object at 0x000001B2B4BD2F08>

将之进行遍历:

<zip object at 0x000001B2B4BD2F08>
<zip object at 0x000001B2B4BD2FC8>
<zip object at 0x000001B2B4BD40C8>
<zip object at 0x000001B2B4BD4188>
<zip object at 0x000001B2B4BD4248>
<zip object at 0x000001B2B4BD4308>
<zip object at 0x000001B2B4BD43C8>

在这里插入图片描述
返回zip对象而不是内容

二、原因

参考《python中使用zip函数出现》,原因是为了节约内存,python3基于此对此进行了优化,输出只输出对象的内存位置而不打印出来。而在python2中可以直接输出到屏幕

三、解决办法

(一)增加一个list()

for data in zip_data:
	print(list(data))

但是这样输出与书中不一致,且不够美观
在这里插入图片描述

(二)进行美化

代码:

import pprint
for data in zip_data:
	pprint.pprint(list(data))

美化后:

	(['TN12_3',
'Person 3 who slept under net',
'Who slept under this mosquito net last night?'],
 'NA'),

在这里插入图片描述

至此,与书中一样了!!!!!!!!!!!

原创文章 62 获赞 29 访问量 7万+

猜你喜欢

转载自blog.csdn.net/python__reported/article/details/106082620