我在3.3.2版本的Mac上运行python(通过IDLE,尽管我不确定这是什么),而且由于某些原因,当我键入from itertools import *
时,它不允许我使用类似chain
和combinations
的命令。另外,我似乎无法导入numpy
,所以我想可能是我把安装搞砸了。问候
作为一个最小的工作示例:
>>> from itertools import chain
>>> chain('abc','def')
<itertools.chain object at 0x34c2130>
但是,输出应该是a b c d e f
。所以我不确定我是否需要print
结果?
首先,你在这里其实没有问题。
itertools.chain()
不返回列表,而是返回一个iterable对象。这是最好的,因为它是懒惰的(值在需要时才计算),这是更有效的内存。值得注意的是,如果这是导入模块时出现的问题,则会出现异常,并且会发生在
from itertools import chain
行。你可以很高兴地循环它,就像你想任何其他的iterable:
这是最好的使用方法,因为它将是最有效的。如果您需要一个列表(您很可能不需要),只需使用内置的
list()
来包装调用:相关问题 更多 >
编程相关推荐