《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'),

在這裏插入圖片描述

至此,與書中一樣了!!!!!!!!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章