问题
Note: I'm working in python on this.
For example, given a list:
list = ['a','b','c','d','e','f','g','h','i','j']
I want to generate a list of lists with all possible 3-item combinations:
['a','b','c'],
['a','b','d'],
['a','b','e']
The permutations should not use the same item twice in a permutation, but the order is important and represents distinct permutations that should be included, e.g.,
['a','b','c'],
['a','c','b']
Should both be included.
"3" is the magic length for the permutations I'm looking to generate, but I wouldn't look down on a solution for arbitrary length permutations.
Thanks for any help!
回答1:
itertools.permutations(my_list, 3)
回答2:
Assuming you're in python 2.6 or newer:
from itertools import permutations
for i in permutations(your_list, 3):
print i
回答3:
You should use the permutations function from the itertools
module.
>>> import itertools
>>> lst = ['a','b','c','d','e','f','g','h','i','j']
>>> itertools.permutations(lst, 3)
Or, if you really want to get combinations, then use the combinations function.
来源:https://stackoverflow.com/questions/9338052/how-do-i-generate-permutations-of-length-len-given-a-list-of-n-items