我正在 Mac 版本 3.3.2 上运行 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()
不返回列表,它返回一个可迭代对象。这是更可取的,因为它是惰性的(直到需要时才计算值),从而更节省内存。
值得注意的是,如果这是导入模块的问题,那么您就会遇到异常,并且它会发生在
from itertools import chain
行。
您可以像任何其他可迭代对象一样愉快地循环它:
>>> from itertools import chain
>>> for item in chain('abc', 'def'):
... print(item)
...
a
b
c
d
e
f
这是最好的使用方式,因为它将是最有效的。如果您需要一个列表(您很可能不需要),您可以简单地使用内置的
list()
来包装调用:
>>> list(chain('abc', 'def'))
['a', 'b', 'c', 'd', 'e', 'f']
Boa noite,por gentileza o que está errado?
从 itertools 导入组合
def is_valid_combination(comb):
all_combinations = 组合(范围(1, 61), 6)
recebo 或 retorno; [Errno 2] 没有这样的文件或目录