{site_name}

{site_name}

🌜 搜索

Python itertools 模块是一个用于高效迭代的工具集合

Python 𝄐 0
python itertools.permutations,python itertools.chain,pythonista 模块,python toolkit,python timeit模块,pythonutil模块
Python itertools 模块是一个用于高效迭代的工具集合。它提供了很多函数,可以帮助我们创建、组合和操作各种迭代器。

以下是 itertools 模块的一些常见函数及其示例:

1. itertools.count(start=0, step=1):生成一个无限的计数器迭代器,从 start 开始,每次步进 step。

python
import itertools

count = itertools.count(start=5, step=2)
print(next(count))
print(next(count))
print(next(count))

# Output:
# 5
# 7
# 9


2. itertools.cycle(iterable):将一个可迭代对象重复无限次。

python
import itertools

cycle = itertools.cycle(['a', 'b', 'c'])
print(next(cycle))
print(next(cycle))
print(next(cycle))
print(next(cycle))

# Output:
# a
# b
# c
# a


3. itertools.chain(*iterables):将多个可迭代对象连接起来,返回一个新的迭代器。

python
import itertools

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

chain = itertools.chain(list1, list2)
for item in chain:
print(item)

# Output:
# 1
# 2
# 3
# a
# b
# c


4. itertools.product(*iterables, repeat=1):求多个可迭代对象的笛卡尔积。

python
import itertools

colors = ['red', 'green', 'blue']
sizes = ['S', 'M', 'L']

products = itertools.product(colors, sizes)
for item in products:
print(item)

# Output:
# ('red', 'S')
# ('red', 'M')
# ('red', 'L')
# ('green', 'S')
# ('green', 'M')
# ('green', 'L')
# ('blue', 'S')
# ('blue', 'M')
# ('blue', 'L')


5. itertools.islice(iterable, start, stop, step=1):对一个可迭代对象进行切片,返回一个新的迭代器。

python
import itertools

numbers = [1, 2, 3, 4, 5]

sliced = itertools.islice(numbers, 1, 4)
for item in sliced:
print(item)

# Output:
# 2
# 3
# 4