Python 如何使用itertools中的combinations对象查找要输入的字符串的每个排列?

Python 如何使用itertools中的combinations对象查找要输入的字符串的每个排列?,python,permutation,itertools,Python,Permutation,Itertools,我的代码 from itertools import permutations original = input('What word would you like to unscramble?: ') notSoOriginal = permutations(original) print(notSoOriginal) 每当我为“原始”变量输入一个单词时,它就会返回 <itertools.permutations object at 0x02DCC6C0> 为了将输入

我的代码

from itertools import permutations

original = input('What word would you like to unscramble?: ')

notSoOriginal = permutations(original)

print(notSoOriginal)
每当我为“原始”变量输入一个单词时,它就会返回

<itertools.permutations object at 0x02DCC6C0>

为了将输入字符串转换为“original”,并让它打印所有可能的字符重排,我在这里会做什么更改?如果有什么不同的话,我也在运行Python 3.3。

您正在寻找:

print([''.join(tup) for tup in permutations(original)])
permutations
返回元组的迭代器(而不是列表),元组包含
原始
的所有置换(例如
('t','e','n'),('t','n','e'),…
)。因此,您需要在迭代器上进行迭代,并将每个元组连接到一个字符串中。

DSM(在注释中)是正确的,而不是错误的

至于您报告的问题-与模块中的所有其他问题一样,
排列
组合
返回。因此,您可以对结果进行迭代:

for permuted in permutations(original):
    print(permuted)
。。。或将其转换为列表:

print(list(permutations(original)))

旁白:如果你想要每一次“重新排列”,难道你不想要
排列
,而不是
组合