python itertools模块初学

#!/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))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值