How do I generate permutations of length LEN given a list of N Items?

浪尽此生 提交于 2019-12-18 07:33:29

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!