#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2019/9/5 0005 20:18
# @Author : P.D
# @Site :
# @File : demo.py
import itertools
# 简单来说就是累加。
x = itertools.accumulate(range(101))
print(list(x))
# itertools.chain
# 连接多个列表或者迭代器。
x = itertools.chain(range(3), range(5))
print(list(x))
# 求列表或生成器中指定数目的元素不重复的所有组合
x = itertools.combinations(range(4), 3)
print(list(x))
# itertools.combinations_with_replacement
# 允许重复元素的组合
x = itertools.combinations_with_replacement('ABC', 2)
print(list(x))
# itertools.compress
# 按照真值表筛选元素
x = itertools.compress(range(5), (True, False, True, True, False))
print(list(x))
# itertools.count
# 就是一个计数器,可以指定起始位置和步长
x = itertools.count(start=20, step=-1)
# print(list(x))
# itertools.cycle
# 循环指定的列表和迭代器
x = itertools.cycle('ABC')
# print(list(x))
#
# itertools.islice
# 上文使用过的函数,对迭代器进行切片
x = itertools.islice(range(10), 0, 9, 2)
print(list(x))
# itertools.product
# 产生多个列表和迭代器的(积)
x = itertools.product('A2345678910jQK', ('black', 'red', 'white', 'circle'))
# for i in x:
# print(i)
# itertools.repeat
# 简单的生成一个拥有指定数目元素的迭代器
x = itertools.repeat("a", 30)
print(list(x))
python itertools模块初学
最新推荐文章于 2023-10-29 11:47:17 发布