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
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
本文地址:
/show-277064.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。