Python列表排列与组合实现详解
本文详细介绍Python中列表的排列与组合操作,通过itertools模块中的product和combinations函数实现。示例展示了如何对列表['1','2','3']生成全排列,以及对[1, 2, 3, 4, 5]进行组合选取。代码简洁高效,适合Python初学者及需要处理数据排列组合场景的开发者参考。
本文通过具体实例解析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程序设计工作有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









