首页 > 其他分享 >itertools 模块学习

itertools 模块学习

时间:2024-12-02 17:11:05浏览次数:8  
标签:list 学习 itertools numbers 模块 print import result

1.创建无限循环迭代对象:count,cycle,repeat

from itertools import count
for i in count(1, 2):
    if i > 10:
        break
    print(i)
# 以1开始,2为步长,无限range结果:1 3 5 7 9
from itertools import cycle
colors = cycle(['red', 'green', 'blue'])
for i in range(6):
    print(next(colors), end=",")
# 对给定的可迭代对象进行无限循环:red,green,blue,red,green,blue
from itertools import repeat
for i in repeat('hello', 3):
    print(i)
# 重复hello这个对象。如果指定了times参数,就重复times次;如果不指定,就无限重复:

2.累加求和计算:accumulate

from itertools import accumulate
numbers = [1, 2, 3, 4, 5]
print(list(accumulate(numbers)))
# 计算可迭代对象的累积结果。默认情况下,它计算的是累加和
# 示例:1、1 + 2、1+2+3、1+2+3 + 4、1+2+3+4+5的结果

 3.拆分序列:chan

from itertools import chain
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for i in chain(list1, list2):
    print(i)
# 先打印出list1中的元素 1、2、3,然后打印出list2中的元素a、b、c

 4.筛选结果:dropwhile, takewhile

from itertools import dropwhile

numbers = [1, 3, 5, 2, 4]
result = dropwhile(lambda x: x % 2 == 1, numbers)
print(list(result))

numbers = [1, 3, 5, 2, 4]
result = filter(lambda x: x % 2 == 0, numbers)
print(list(result))
from itertools import takewhile
numbers = [1, 3, 5, 2, 4] result = takewhile(lambda x: x % 2 == 1, numbers) print(list(result)) numbers = [1, 3, 5, 2, 4] result = filter(lambda x: x % 2 == 1, numbers) print(list(result))

 5.全部自由组合:permutations,combinations,combinations_with_repalcement,pairwise

参数:选取几个字母组合,2就是2个字母

from itertools import permutations
letters = ['a', 'b', 'c']
print(list(permutations(letters, 2)))
#结果:[('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'c'), ('c', 'a'), ('c', 'b')]
from itertools import combinations
letters = ['a', 'b', 'c']
print(list(combinations(letters, 2)))
#结果:[('a', 'b'), ('a', 'c'), ('b', 'c')]
from itertools import combinations_with_replacement
letters = ['a', 'b', 'c']
print(list(combinations_with_replacement(letters, 2)))
#结果:[('a', 'a'), ('a', 'b'), ('a', 'c'), ('b', 'b'), ('b', 'c'), ('c', 'c')]
from itertools import pairwise
numbers = [1, 2, 3, 4, 5]
pairs = pairwise(numbers)
print(list(pairs))
#结果:[(1, 2), (2, 3), (3, 4), (4, 5)]

 

 

 

 

 

 

 

 

标签:list,学习,itertools,numbers,模块,print,import,result
From: https://www.cnblogs.com/zwx901323/p/18582248

相关文章

  • 机器学习:逻辑回归
    简介在前两篇文章中,我们详细探讨了如何利用采样数据来估计回归曲线。接下来,在本节中,我们将深入讨论如何处理分类问题。章节安排背景介绍数学方法程序实现背景介绍线性可分线性可分是指在多维空间\(\mathbb{R}^D\)中,对于任意两个类别的数据,总是存在一个超平面,可以将这两......
  • 关于3D MAX的学习心得
    学习3DMax心得体会        在数字化时代,3D技术已经成为设计、娱乐、建筑等多个领域不可或缺的一部分。3DMax作为一款专业的三维建模软件,它的学习过程不仅是技能的积累,更是对个人耐心、创造力和团队协作能力的一次全面提升。以下是我在学习3DMax过程中的一些深刻体......
  • 光模块中的单模与多模到底有什么区别?
    在现代通信网络中,光模块作为光与电之间的桥梁,扮演着至关重要的角色。它们不仅负责将电信号转换为光信号进行传输,还能将接收到的光信号转换回电信号,确保数据的准确传递。在光模块中,单模模块和多模模块是两种常见的类型,它们各自具有独特的特点和应用场景。  单模模块单模模......
  • 深度学习中的前向传播与损失函数
    目录​编辑前向传播:神经网络的推理过程什么是前向传播?前向传播的步骤数学表达代码示例:前向传播损失函数:衡量预测与真实值的差异损失函数的定义损失函数的作用常见的损失函数代码示例:损失函数前向传播与损失函数的结合反向传播:优化模型参数代码示例:反向传播结论......
  • PHP语法学习(第三天)
    老规矩,先回顾一下昨天学习的内容PHP语法学习(第二天)主要学习了PHP变量、变量的作用域、以及参数作用域。今天由Tom来打开新的篇章文章目录echo和print区别PHPecho语句实例PHPprint语句实例PHP数组创建数组利用array()函数数组的类型索引数组关联数组......
  • 机器学习简单练习题 - 选择&简答(带答案)
    选择题(单选&多选) 机器学习发展的主要历史阶段有(多选)知识推理期知识工程期浅层学习深度学习 下列不属于机器学习的主要流派的是符号主义联想主义(联结主义)进化主义行为类推主义 下列属于数据挖掘任务的是(多选)异常检测关联分析聚类分类 ......
  • 财务学习与交流网站的盈利模式是什么
    在当今数字化时代,财务学习与交流网站作为连接金融知识与学习者的桥梁,正逐渐成为市场上不可或缺的教育资源。这些平台不仅为初学者提供了入门级的财务知识,同时也为高级用户提供了深入探讨和实践操作的空间。然而,构建和维护一个高质量的财务学习平台并非易事,它需要持续的投入和创新......
  • 深度学习基因组学
    Nature与Science重磅!AI与生物医药迎来百年来最重磅进展!https://mp.weixin.qq.com/s/Vw3Jm4vVKP14_UH2jqwsxA第一天理论部分深度学习算法介绍1.有监督学习的神经网络算法1.1全连接深度神经网络DNN在基因组学中的应用举例1.2卷积神经网络CNN在基因组学中的应用举例1.3循......
  • 机器学习分子动力学
    “AIforScience”时代,机器学习分子动力学+机器学习第一性原理专题!https://mp.weixin.qq.com/s/icdBcJbKhOqtAymEpZds2A《基于机器学习的分子动力学》1.第一天理论内容a)诺贝尔奖的AI元年i.AI与SCIENCE的交叉:b)科学研究的四范式i.从大数据时代到AI4SCIENCE时代,如......
  • 11.30学习日记
    11.30学习日记oj跑项目报错如下查问题,改成java8这个路径也要改掉这里用的是木马程序测试路径改成我们正常测试的main.java就行运行成功......