zip 方法在 Python 2 和 Python 3 中的不同: 在 Python 3.x 中爲了減少內存,zip() 返回的是一個對象。如需展示列表,需手動 list() 轉換。
該方法其實就是將兩個可迭代對象作爲參數,並將其一一對應的元素封裝成元組。如果兩個可迭代對象的長度不一樣,那麼返回的對象的長度爲長度小的那個參數序列。利用 * 號操作符,可以將元組解壓爲對象(python3裏面是zip對象)。
season = [0,2,4,6,8]
odds = [1,3,5,7,9]
for e,a in zip(season,odds):
# print(e,a)
print("{0}*{1}={2}".format(e,a,e*a))
結果:
再一個例子:
可見py3中是返回一個對象。若將其轉換成列表,其形式會是:
其類型:
如何將zip對象進行解壓: *zip(ziped)
可以知道使用zip(*s)返回的是zip對象,如果需要轉換,直接使用list或者tuple進行強制轉換即可。
轉換後: