本文实例讲述了Python列表list排列组合操作。分享给大家供大家参考,具体如下:

排列

例如:

输入为

[\'1\',\'2\',\'3\']和3

输出为

[\'111\',\'112\',\'113\',\'121\',\'122\',\'123\',\'131\',\'132\',\'133\',\'211\',\'212\',\'213\',\'221\',\'222\',\'223\',\'231\',\'232\',\'233\',\'311\',\'312\',\'313\',\'321\',\'322\',\'323\',\'331\',\'332\',\'333\']

实现代码:

# -*- coding:utf-8 -*-
#! pyhton2
from itertools import product
l = [1, 2, 3]
print list(product(l, l))
print list(product(l, repeat=3))

上述代码运行输出:

[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 1, 1), (2, 1, 2), (2, 1, 3), (2, 2, 1), (2, 2, 2), (2, 2, 3), (2, 3, 1), (2, 3, 2), (2, 3, 3), (3, 1, 1), (3, 1, 2), (3, 1, 3), (3, 2, 1), (3, 2, 2), (3, 2, 3), (3, 3, 1), (3, 3, 2), (3, 3, 3)]

组合

例如:

输入为

[1, 2, 3]和2

输出为

[1, 2], [1, 3], [2, 3] 不考虑顺序

实现代码:

# -*- coding:utf-8 -*-
#! pyhton2
from itertools import combinations
l = [1, 2, 3, 4, 5]
print list(combinations(l, 3))

上述代码运行输出:

[(1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)]

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

收藏 打印