吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1004|回复: 0
收起左侧

[学习记录] 学习itertools模块之后的个人笔记

[复制链接]
甜萝 发表于 2022-10-21 19:26
本帖最后由 paypojie 于 2022-10-21 19:35 编辑

                                                                                                                      itertools模块的笔记

[Python] 纯文本查看 复制代码
#  python的itertools模块提供了非常有用的用于操作迭代对象的函数

# 比方说其中的count()函数 

import itertools

i = itertools.count()   # 可以传入参数 也可以不传 默认是从零开始 提供了参数就从提供的参数开始

for n in i: 
        
    print(n)   # 需要使用for循环 才能不断生成新元素 for循环遍历i这个无限迭代器(也可以称为无限迭代对象)
               # 可以按Ctrl+c给终止


[Python] 纯文本查看 复制代码
# cycle()函数

c = itertools.cycle('AB')   # 传入一个序列 字符串也是序列 cycle()函数可以将一个序列给无限重复下去

for s in c:
    print(s) # 同样输出无法停下来


[Python] 纯文本查看 复制代码
# repeat()函数

r = itertools.repeat(0)     # repeat()函数将一个元素给无限重复下去

for b in r:
    print(b)


[Python] 纯文本查看 复制代码
r = itertools.repeat(0,5)   # 还可以传入一个可选参数用来限定重复次数

for b in r:
    print(b)


[Python] 纯文本查看 复制代码
# 虽然无限序列可以无限迭代 但是 我们通常会通过takewall()等函数根据条件来截取有限的序列

ct = itertools.count(1)

tw = itertools.takewhile(lambda x: x <= 100, ct)

for d in tw:
    print(d)


[Python] 纯文本查看 复制代码
# 上面的是迭代器函数 下面介绍一下迭代器操作函数

ca = itertools.chain('a1','b2')     # chain()函数可以将传入的字符串序列给连接成一个更长的字符串序列
for c1 in ca:                       # 按照廖雪峰的官方网站说法 应该是 chain函数可以将两个迭代对象串联成一个更大的迭代对象
    print(c1)

gp = itertools.groupby('AAAABBBCCCEE')

for key,group in gp:
    print(key,list(group))      # groupby()函数将迭代对象中相邻的重复元素给挑选出来放一起 在这里要用list(group) 要不然得到的是一串内存地址 而非值


[Python] 纯文本查看 复制代码
# 这一段引用原文 实际上挑选规则是通过函数完成的,只要作用于函数的两个元素返回的值相等,这两个元素就被认为是在一组的,而函数返回值作为组的key。
# 如果我们要忽略大小写分组,就可以让元素'A'和'a'都返回相同的key:

for key,group in itertools.groupby('AAAVVBBNNN',lambda c: c.upper()):
    print(key,list(group))

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
wangp-3366 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 06:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表