标准库之itertools

itertoolsPython 的标准库之一,它提供了用于生成排列、组合、笛卡尔积等迭代器的函数。

以下是一些使用 itertools 进行排列组合操作的例子:

排列

from itertools import permutations

items = [1, 2, 3]
for p in permutations(items):
    print(p)

组合

from itertools import combinations

items = [1, 2, 3]
for c in combinations(items, 2):  # 2 表示要选择的元素数量
    print(c)

笛卡尔积(Cartesian Product)

from itertools import product

items = [1, 2, 3]
for p in product(items, repeat=2):  # repeat=2 表示重复的次数
    print(p)

组合带重复(Combinations with Replacement)

from itertools import combinations_with_replacement

items = [1, 2, 3]
for c in combinations_with_replacement(items, 2):
    print(c)

这些函数返回的是迭代器,可以用来生成所有可能的排列或组合,而不需要预先计算和存储所有的结果, 这样可以节省内存并提高效率。如果你需要将这些迭代器转换为列表,可以使用 list() 函数。

results matching ""

    No results matching ""