Python的排列组合函数

pythondeitertools模块下提供了一些用于生成排列组合的工具函数。

  • product(p, q, … [repeat=1]):用序列p、q、...序列中的元素进行排列(元素会重复)。就相当于使用嵌套循环组合。
  • permutations(p[, r]):从序列p中取出r个元素的组成全排列,组合得到元组作为新迭代器的元素。
  • combinations(p, r):从序列p中取出r个元素组成全组合,元素不允许重复,组合得到元组作为新迭代器的元素。
  • combinations_with_replacement(p,r),从序列p中取出r个元素组成全组合,元素允许重复,组合得到元组作为新迭代器的元素。

其中combinations为常用的函数:

import itertools
list1 = [1, 3, 4, 5]
list2 = list(itertools.combinations(list1, 2))
print(list2)

返回结果:
[(1, 3), (1, 4), (1, 5), (3, 4), (3, 5), (4, 5)]

添加新评论