返回顶部
首页 > 资讯 > 后端开发 > Python >python的itertools包怎么使用
  • 218
分享到

python的itertools包怎么使用

2023-06-29 10:06:59 218人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python的itertools包怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python的itertools包怎么使用文章都会有所收获,下面我们一起来看看吧。前言:Python的内

这篇文章主要介绍了python的itertools包怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python的itertools包怎么使用文章都会有所收获,下面我们一起来看看吧。

前言:

Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数,itertools提供的几个“无限”迭代器

1、count()创建自然数序列

import itertools n = 0natuals = itertools.count(1)for m in natuals:    print(m)

   因为count(n)会创建一个无限的迭代器,起始数字为n,迭代至无穷大。所以上述代码会打印出自然数序列,根本停不下来,只能按Ctrl+C退出。

运行结果:

0 1 2 3 4 5 6 7 ...

2、cycle()创建序列循环

        cycle()会把传入的一个序列无限重复下去。

示例1、循环列表中的内容:

natuals = itertools.cycle([1, 2, 3])for m in natuals:    print(m)

运行结果:

1 2 3 1 2 3 1 2 3 ...

示例2、字符串中字符循环:

import itertoolscs = itertools.cycle('ABC') # 注意字符串也是序列的一种for c in cs:    print(c)

运行结果:

A B C A B C A B C ...

3、repeat()把一个元素有限次重复

       repeat()负责把一个元素无限重复下去(默认行为),不过如果提供第二个参数就可以限定重复次数。

ns = itertools.repeat('A', 3)for n in ns:    print(n)

运行结果:

A A A ...

4、takewhile()根据条件判断来截取出一个有限的序列

        无限序列只有在for迭代时才会无限地迭代下去,如果只是创建了一个迭代对象,它不会事先把无限个元素生成出来,事实上也不可能在内存中创建无限多个元素。无限序列虽然可以无限迭代下去,但是通常我们会通过takewhile()等函数根据条件判断来截取出一个有限的序列。

import itertools natuals = itertools.count(1)ns = itertools.takewhile(lambda x: x <= 10, natuals)print(list(ns))

运行结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

迭代器测试:

        对于有限数据的迭代器,每调用一次,迭代器内数据弹出。

import itertools natuals = itertools.count(1)ns = itertools.takewhile(lambda x: x <= 3, natuals)for n in ns:    print(n) print(list(ns))

运行结果:

1 2 3 []

5、chain()迭代对象串联

        chain()可以把一组迭代对象串联起来,形成一个更大的迭代器。

for c in itertools.chain('ABC', 'XYZ'):    print(c)

运行结果:

'A' 'B' 'C' 'X' 'Y' 'Z'

6、groupby()迭代器元素分组

       groupby()把迭代器中相邻的重复元素挑出来放在一起,更多的用于字符串。

for key, group in itertools.groupby('AAABBBCCAAA'):    print(key, list(group))

运行结果:

A ['A', 'A', 'A']
B ['B', 'B', 'B']
C ['C', 'C']
A ['A', 'A', 'A']

        实际上挑选规则是通过函数完成的,只要作用于函数的两个元素返回的值相等,这两个元素就被认为是在一组的,而函数返回值作为组的key。如果我们要忽略大小写分组,就可以让元素'A'和'a'都返回相同的key。

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

运行结果:

A ['A', 'a', 'a']
B ['B', 'B', 'b']
C ['c', 'C']
A ['A', 'A', 'a']

关于“python的itertools包怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python的itertools包怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: python的itertools包怎么使用

本文链接: https://lsjlt.com/news/324295.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python的itertools包怎么使用
    这篇文章主要介绍了python的itertools包怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python的itertools包怎么使用文章都会有所收获,下面我们一起来看看吧。前言:Python的内...
    99+
    2023-06-29
  • python中怎么使用Itertools
    这篇文章将为大家详细讲解有关python中怎么使用Itertools,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Itertools如果深入学习Python,那你肯定要熟悉itertools。iterto...
    99+
    2023-06-27
  • python中Itertools模块怎么用
    小编给大家分享一下python中Itertools模块怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Itertools 模...
    99+
    2024-04-02
  • Python中如何使用Itertools库
    这篇文章将为大家详细讲解有关Python中如何使用Itertools库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、概念简介1. 什么是迭代器迭代器是由__next__方法组成的对象。它...
    99+
    2023-06-16
  • python如何使用itertools模块
    这篇文章主要为大家展示了“python如何使用itertools模块”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用itertools模块”这篇文章吧。高效的itertools...
    99+
    2023-06-27
  • Python中itertools简介使用介绍
    目录Python中itertools模块一、 简介二、 使用介绍1、 常用迭代器1.1 chain1.2 groupby2、 无穷迭代器2.1 count2.2 cycle2.3 r...
    99+
    2022-12-28
    Python中itertools Python itertools详解 Python itertools
  • python中itertools模块使用小结
    Python 内置的 itertools 模块包含了一系列用来产生不同类型迭代器的函数或类,这些函数的返回都是一个迭代器,我们可以通过 for 循环来遍历取值,也可以使用 next(...
    99+
    2024-04-02
  • Python中itertools模块如何使用
    这篇文章主要介绍“Python中itertools模块如何使用”,在日常操作中,相信很多人在Python中itertools模块如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中iterto...
    99+
    2023-07-05
  • Python中itertools模块的使用教程详解
    目录itertools模块的介绍无限迭代器(Infinite Iterators)组合迭代器(Combinatoric Iterators)有限迭代器(Iterators Termi...
    99+
    2024-04-02
  • Python中的itertools模块的用法
    本篇内容主要讲解“Python中的itertools模块的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的itertools模块的用法”吧!在Python中有一个功能强大的迭代...
    99+
    2023-06-16
  • Python的闭包怎么使用
    本篇内容介绍了“Python的闭包怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.闭包的定义和使用当返回的内部函数使用了外部函数的...
    99+
    2023-06-30
  • Python中itertools库的四个函数是什么及怎么用
    这篇文章主要介绍了Python中itertools库的四个函数是什么及怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中itertools库的四个函数是什么及怎么用文章都会有所收获,下面我们一起...
    99+
    2023-06-29
  • 一文详解Python中itertools模块的使用方法
    目录chain(*iterables)combinations(iterable: Iterable, r)combinations_with_replacement(it...
    99+
    2023-03-22
    Python itertools模块使用 Python itertools模块 Python itertools
  • python迭代器模块itertools常用的方法
    目录前言1.无限迭代器2.有限迭代器3.组合迭代器前言 itertools是python中内置的一种高效的生成各种迭代器或者是类的模块,这些函数的返回值为一个迭代器,经常被用在for...
    99+
    2024-04-02
  • 怎么使用setuptools打包Python代码
    本篇内容介绍了“怎么使用setuptools打包Python代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!setuptools是Pyth...
    99+
    2023-06-27
  • python闭包怎么定义和使用
    闭包是指在函数内部定义的函数,并且该函数可以访问外部函数的变量。定义闭包的一般步骤如下:1. 在外部函数中定义一个内部函数。2. 内...
    99+
    2023-10-11
    python
  • Python打包神器Nuitka怎么使用
    这篇文章主要讲解了“Python打包神器Nuitka怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python打包神器Nuitka怎么使用”吧!一. pyinstaller和Nuit...
    99+
    2023-07-06
  • Python中的datetime包与time包怎么用
    这篇文章主要介绍“Python中的datetime包与time包怎么用”,在日常操作中,相信很多人在Python中的datetime包与time包怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Pytho...
    99+
    2023-06-29
  • Python中的闭包怎么用
    这篇文章主要介绍Python中的闭包怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、闭包概念闭包在函数中提出的概念,简单来说就是一个函数定义中引用了函数外定义的变量,并且该函数可以在其定义环境外被执行。这样的...
    99+
    2023-06-25
  • Python包中__init__.py文件怎么使用
    这篇文章主要讲解了“Python包中__init__.py文件怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python包中__init__.py文件怎么使用”吧!一、__init_...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作