【发布时间】:2012-03-09 10:21:13
【问题描述】:
注意:我正在使用 python 来解决这个问题。
例如,给定一个列表:
list = ['a','b','c','d','e','f','g','h','i','j']
我想生成一个包含所有可能的 3 项组合的列表:
['a','b','c'],
['a','b','d'],
['a','b','e']
排列不应该在一个排列中两次使用相同的项目,但顺序很重要并且代表应该包含的不同排列,例如,
['a','b','c'],
['a','c','b']
都应该包括在内。
“3”是我希望生成的排列的魔法长度,但我不会看不起任意长度排列的解决方案。
感谢您的帮助!
【问题讨论】:
-
你有没有想过这个问题?有没有卡住的地方?
-
我不想这么说,但谷歌搜索“permutations python list”给出了docs.python.org/library/itertools.html。
-
其他人已经回答了,但是,是的,我已经考虑过了,但是在与此相关的项目的其他方面之后,我陷入了大脑锁定,无法思考过去一种很丑陋的蛮力方法。
-
是的,我的 google-fu 在这方面很弱——我没有使用“排列”一词进行搜索,不知道我需要什么。然后,当我在这里输入我的标题并且 stackoverflow 显示了相关问题时,我看到了常用的“排列”一词,但没有想到要返回并在谷歌中包含它。
标签: python permutation