当我在IPython QTConsole中运行代码时:
- >拉链([2,4],[3,1])
我期望它输出[[2,3],[4,1]],但它显示
- >
,就像存储地址一样。我该如何解决这个问题?
答案 0 :(得分:2)
原因是zip
并不总是将序列作为参数。序列具有已知的顺序,可以根据需要迭代多次。有时拉链可以获得生成器,实际上不知道订单,甚至预先知道订单中有多少项。
在您的具体情况下,您可以
list(zip([2,4],[3,1]))
获得你想要的东西。如果你只想对压缩的东西进行一次迭代,你不应该在它上面调用list
,因为那时你已经做了很多不必要的工作。迭代压缩的东西更有效率。