Python排列组合

import itertools

print("\n ABCD的全排列=======================")
# 产生ABCD的全排列
for e1 in itertools.permutations('ABCD'):
    print(e1)

print("\n产生ABCDE的五选三组合 =======================")
# 产生ABCDE的五选三组合
for e2 in itertools.combinations('ABCDE', 3):
    print(e2)

print("\n产生ABCD和123的笛卡尔积 =======================")
# 产生ABCD和123的笛卡尔积
for e3 in itertools.product('ABCD', '123'):
    print(e3)

输出

 ABCD的全排列=======================
('A', 'B', 'C', 'D')
('A', 'B', 'D', 'C')
('A', 'C', 'B', 'D')
('A', 'C', 'D', 'B')
('A', 'D', 'B', 'C')
('A', 'D', 'C', 'B')
('B', 'A', 'C', 'D')
('B', 'A', 'D', 'C')
('B', 'C', 'A', 'D')
('B', 'C', 'D', 'A')
('B', 'D', 'A', 'C')
('B', 'D', 'C', 'A')
('C', 'A', 'B', 'D')
('C', 'A', 'D', 'B')
('C', 'B', 'A', 'D')
('C', 'B', 'D', 'A')
('C', 'D', 'A', 'B')
('C', 'D', 'B', 'A')
('D', 'A', 'B', 'C')
('D', 'A', 'C', 'B')
('D', 'B', 'A', 'C')
('D', 'B', 'C', 'A')
('D', 'C', 'A', 'B')
('D', 'C', 'B', 'A')

产生ABCDE的五选三组合 =======================
('A', 'B', 'C')
('A', 'B', 'D')
('A', 'B', 'E')
('A', 'C', 'D')
('A', 'C', 'E')
('A', 'D', 'E')
('B', 'C', 'D')
('B', 'C', 'E')
('B', 'D', 'E')
('C', 'D', 'E')

产生ABCD和123的笛卡尔积 =======================
('A', '1')
('A', '2')
('A', '3')
('B', '1')
('B', '2')
('B', '3')
('C', '1')
('C', '2')
('C', '3')
('D', '1')
('D', '2')
('D', '3')
posted @ 2025-10-08 17:15  程序员の奇妙冒险  阅读(4)  评论(0)    收藏  举报