itertools.permutations()结构及上下文||排列

  • itertools 官方文档

itertools是2.3版本加入的用于创建循环用迭代器的函数模块。

itertools 模块提供的迭代器函数有以下几种类型:

  • 无限迭代器:生成一个无限序列,比如自然数序列 1, 2, 3, 4, ...

    在这里插入图片描述

  • 有限迭代器:接收一个或多个序列(sequence)作为参数,进行组合、分组和过滤等;

itertools.permutations()结构及上下文||排列_第1张图片

  • 组合生成器:序列的排列、组合,求序列的笛卡儿积等;

    itertools.permutations()结构及上下文||排列_第2张图片

  • itertools.permutations()官方文档

itertools.permutations(iterable[, r]

创建一个迭代器,返回iterable中所有长度为r的项目序列,如果省略了r,那么序列的长度与iterable中的项目数量相同: 返回p中任意取r个元素做排列的元组的迭代器。

r 指定生成排列的元素的长度,如果不指定,则默认为可迭代对象的元素长度。

对应排列概念。

>>> from itertools import permutations
>>>
>>> permutations('ABC', 2)

>>>
>>> list(permutations('ABC', 2))
[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
>>>
>>> list(permutations('ABC'))
[('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
>>>
  • Reference

  1. 高效的 itertools 模块
  2. 《利用Python进行数据分析》
  3. PYTHON-进阶-ITERTOOLS模块小结

你可能感兴趣的:(小白学Python)