Python列表排列与组合实现详解

山海之间
山海之间
发布时间:2026-10-13 | 4人浏览过
原创

本文详细介绍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程序设计工作有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表