{site_name}

{site_name}

🌜 搜索

Python itertools是一个Python标准库模块,提供了一些用于创建和操作迭代器的函数

Python 𝄐 0
python itertools.permutations,python itertools groupby,python itertools product,python itertools permutation,python itertools combination,python itertools batched
Python itertools是一个Python标准库模块,提供了一些用于创建和操作迭代器的函数。这些函数可以组合以形成更强大的迭代器工具。

以下是一些常用的函数及其用法:

1. itertools.count(start=0, step=1)
生成一个无限迭代器,从start(默认为0)开始,每次增加step(默认为1)。

示例:

import itertools
for i in itertools.count(1):
if i > 5:
break
print(i) # 输出1、2、3、4、5


2. itertools.cycle(iterable)
根据可迭代对象iterable生成一个无限循环的迭代器。

示例:

import itertools
colors = ['red', 'green', 'blue']
for color in itertools.cycle(colors):
if len(color) > 4:
break
print(color) # 输出'red', 'green'


3. itertools.chain(*iterables)
将多个可迭代对象连接起来成为一个迭代器。

示例:

import itertools
list1 = [1, 2, 3]
tuple1 = (4, 5, 6)
set1 = {7, 8, 9}
for num in itertools.chain(list1, tuple1, set1):
print(num) # 输出1、2、3、4、5、6、7、8、9


4. itertools.combinations(iterable, r)
返回iterable中长度为r的所有可能组合。

示例:

import itertools
colors = ['red', 'green', 'blue']
for combo in itertools.combinations(colors, 2):
print(combo) # 输出('red', 'green')、('red', 'blue')、('green', 'blue')


5. itertools.product(*iterables, repeat=1)
返回iterables中所有可迭代对象的笛卡尔积,repeat表示重复次数。

示例:

import itertools
list1 = [1, 2]
tuple1 = ('a', 'b')
for p in itertools.product(list1, tuple1):
print(p) # 输出(1, 'a')、(1, 'b')、(2, 'a')、(2, 'b')