如何在Python 3.3.2中导入itertools

问题描述 投票:0回答:2

我正在 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
结果?

python numpy module
2个回答
4
投票

首先,这里实际上没有问题。

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']

0
投票

Boa noite,por gentileza o que está errado?

从 itertools 导入组合

def is_valid_combination(comb):

今天可组合 6 个数字 1 至 60

all_combinations = 组合(范围(1, 61), 6)

recebo 或 retorno; [Errno 2] 没有这样的文件或目录

© www.soinside.com 2019 - 2024. All rights reserved.