首页 > 编程语言 >Python | 排列与组合

Python | 排列与组合

时间:2023-02-10 16:15:26浏览次数:58  
标签:排列 组合 Python list1 permutations list itertools comb3 combinations

示例

以下面的列表为例,

import itertools
L = [1, 2, 3, 4]

不考虑顺序

comb1 = list(itertools.combinations([1,2,3,4],1))
'''
[(1,), (2,), (3,), (4,)]
'''

comb2 = list(itertools.combinations([1,2,3,4],2))
'''
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
'''

comb3 = list(itertools.combinations([1,2,3,4],3))
'''
[(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]
'''

考虑顺序

comb1 = list(itertools.permutations([1,2,3,4],1))
'''
[(1,), (2,), (3,), (4,)]
'''

comb2 = list(itertools.permutations([1,2,3,4],2))
'''
[(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]
'''

comb3 = list(itertools.permutations([1,2,3,4],3))
'''
[(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, 4, 2), (1, 4, 3), (2, 1, 3), (2, 1, 4), (2, 3, 1), (2, 3, 4), (2, 4, 1), (2, 4, 3), (3, 1, 2), (3, 1, 4), (3, 2, 1), (3, 2, 4), (3, 4, 1), (3, 4, 2), (4, 1, 2), (4, 1, 3), (4, 2, 1), (4, 2, 3), (4, 3, 1), (4, 3, 2)]
'''


列表之间的组合

import itertools

list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8,9]
print(list(itertools.product(list1, list2)))

# [(1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (2, 5), (2, 6), (2, 7), (2, 8), (2, 9), (3, 5), (3, 6), (3, 7), (3, 8), (3, 9), (4, 5), (4, 6), (4, 7), (4, 8), (4, 9)]

https://blog.csdn.net/MissMango0820/article/details/127958117

标签:排列,组合,Python,list1,permutations,list,itertools,comb3,combinations
From: https://www.cnblogs.com/hanfe1/p/17109283.html

相关文章