显示真实输出,而不是存储的地址
Displaying true output, not stored address
当我 运行 在 IPython QTConsole 中输入代码时:
-->zip([2,4],[3,1])
我希望它输出 [[2,3],[4,1]],但它却显示
-->
,类似于存储地址。我该如何解决?
很遗憾,你不能。
原因是 zip
并不总是将序列作为参数。序列有一个已知的顺序,并且可以根据需要迭代多次。有时 zip 可以获取生成器,而您实际上 不知道顺序,甚至不知道前面有多少项。
然而,
在您的具体情况下,您可以这样做
list(zip([2,4],[3,1]))
为了得到你想要的。如果你只打算遍历压缩的东西一次,你不应该在它上面调用 list
,因为那样你已经做了很多不必要的工作。迭代压缩的东西更有效。
当我 运行 在 IPython QTConsole 中输入代码时:
-->zip([2,4],[3,1])
我希望它输出 [[2,3],[4,1]],但它却显示
-->
,类似于存储地址。我该如何解决?
很遗憾,你不能。
原因是 zip
并不总是将序列作为参数。序列有一个已知的顺序,并且可以根据需要迭代多次。有时 zip 可以获取生成器,而您实际上 不知道顺序,甚至不知道前面有多少项。
然而,
在您的具体情况下,您可以这样做
list(zip([2,4],[3,1]))
为了得到你想要的。如果你只打算遍历压缩的东西一次,你不应该在它上面调用 list
,因为那样你已经做了很多不必要的工作。迭代压缩的东西更有效。