如何安装itertools软件包?

时间:2020-07-13 10:47:40

标签: python itertools

我想尝试使用permutations模块中的itertools函数。但是每次尝试实现它时,我都会不断收到以下错误:

代码:

from itertools import permutations

txt=permutations('SKIN')
print(txt)

输出:

<itertools.permutations object at 0x7fee48665950>

我尝试在命令提示符下使用命令pip install itertools,但仍然收到错误消息:

ERROR: Could not find a version that satisfies the requirement itertools (from versions: none)
ERROR: No matching distribution found for itertools

如何安装软件包?

4 个答案:

答案 0 :(得分:2)

itertools是一个内置模块,无需安装:

Help on module itertools:

NAME
    itertools - Functional tools for creating and using iterators.

FILE
    /usr/lib64/python2.7/lib-dynload/itertoolsmodu

permutations(<iterable>)返回一个生成器,该生成器生成可迭代元素的连续r长度排列:

>>> type(txt)
<type 'itertools.permutations'>

>>> dir(txt)
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'next']

所需排列列表:

list_perms = [ "".join(i) for i in permutations("SKIN")]

# ['SKIN', 'SKNI', 'SIKN', 'SINK', 'SNKI', 'SNIK', 'KSIN', 'KSNI', 'KISN', 'KINS', 'KNSI', 'KNIS', 'ISKN', 'ISNK', 'IKSN', 'IKNS', 'INSK', 'INKS', 'NSKI', 'NSIK', 'NKSI', 'NKIS', 'NISK', 'NIKS']

答案 1 :(得分:1)

permutations()返回一个对象,将其转换为list即可完成工作。

from itertools import permutations

txt=list(permutations('SKIN'))
t = [''.join(i) for i in txt]
print(t)

答案 2 :(得分:0)

它像怀疑的那样工作。 permutations是可以迭代的生成器。

from itertools import permutations

txt=permutations('SKIN')
print(txt)

for single_permutation in txt:
    print(single_permutation)

答案 3 :(得分:-2)

显然,问题在于您尚未安装itertools模块。

尝试此命令:

pip install more-itertools

查看此链接。 https://pypi.org/project/more-itertools/

编辑:

所以我了解到itertools是一个内置包,我想您要做的就是简单地通过list()方法将排列转换为列表。

txt = list(permutations('SKIN'))

我希望足够。

我了解到itertools是内置软件包,因此上面的内容可能没有那么有用。

所以