为什么我们不能简单地打印“ print(zip(a,b))”

时间:2018-07-20 05:41:40

标签: python-3.x

为什么我们不能打印“ 打印(zip(a,b))”或仅打印“ 打印(c)”?

a=[ "ab", "cd", "ef"]
b=["gh","ij","kl"]
c=zip(a,b) 

如果我尝试

"for i,j in c:
    print(i,j)"

输出:

ab gh

cd ij

ef kl

但是无法打印“ print(c)” ,其类似这样的“ zip对象位于0x025088C8 “ 为什么?

1 个答案:

答案 0 :(得分:0)

首先,您的解决方案将不起作用,因为您仅考虑str。 在以下情况下会发生什么?

var

您可以想象另一种表示形式,例如:

# main.py
import one
try:
    var
except:
    var = api.start()
one.foobar(var)

# one.py
def foorbar(var):
    return var.dostuff()

但是您可以阅读zip函数文档中的here,该函数返回一个迭代器,出于多种原因(例如内存),这种行为(在python3中)是可取的。