python 排列组合之itertools

1287次阅读  |  发布于5年以前

python 2.6 引入了itertools模块,使得排列组合的实现非常简单:

复制代码 代码如下:

import itertools

有序排列:e.g., 4个数内选2个排列:

复制代码 代码如下:

print 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)]

无序组合:e.g.,4个数内选2个:

复制代码 代码如下:

print list(itertools.combinations([1,2,3,4],2))
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8