Python中iter函数的具体使用

 更新时间:2025年01月02日 09:50:31   作者:pdc31czy  
Python中iter函数用于创建迭代器对象,可以遍历可迭代对象的元素,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

因为在jax的代码接触了这个函数,不是很熟悉,每次看见名字只知道是迭代但是不知道是怎么迭代,因此写下以下笔记提醒自己。

def iter(source, sentinel=None): # known special case of iter
    """
    iter(iterable) -> iterator
    iter(callable, sentinel) -> iterator
    
    Get an iterator from an object.  In the first form, the argument must
    supply its own iterator, or be a sequence.
    In the second form, the callable is called until it returns the sentinel.
    """
    pass

Python 中的 iter 函数

在 Python 编程中,iter 函数是一个非常有用的内置函数,用于创建迭代器对象。迭代器是一种允许你遍历集合(如列表、元组、字典等)中的元素的对象。iter 函数有两种主要用法:

iter(iterable) -> iterator

这种形式接受一个可迭代对象(如列表、元组、字典等),并返回一个迭代器。迭代器可以用来遍历可迭代对象的元素。

例如:

my_list = [1, 2, 3, 4, 5]
iterator = iter(my_list)

print(next(iterator))  # 输出:1
print(next(iterator))  # 输出:2

iter(callable, sentinel) -> iterator

这种形式接受一个可调用对象(如函数)和一个哨兵值。它会调用可调用对象,直到返回哨兵值。

例如:

import random

def my_callable():
    return random.randint(1, 10)

iterator = iter(my_callable, 5)

print(next(iterator))  # 输出:1 到 10 之间的随机整数
print(next(iterator))  # 输出:1 到 10 之间的随机整数

假设 my_callable 函数返回的随机数序列是 [3, 7, 5, 2, 8],那么代码的输出可能是:

print(next(iterator))  # 输出:3
print(next(iterator))  # 输出:7

当 my_callable 函数返回 5 时,迭代器会停止,因为 5 是哨兵值。

自定义 iter 函数

为了更好地理解 iter 函数的工作原理,我们可以实现一个简单的自定义版本:

def iter(source, sentinel=None):
    if sentinel is None:
        # Form 1: iter(iterable)
        return source.__iter__()
    else:
        # Form 2: iter(callable, sentinel)
        while True:
            value = source()
            if value == sentinel:
                break
            yield value

到此这篇关于Python中iter函数的具体使用的文章就介绍到这了,更多相关Python iter函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Python经纬度坐标转换为距离及角度的实现

    Python经纬度坐标转换为距离及角度的实现

    这篇文章主要介绍了Python经纬度坐标转换为距离及角度的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python3用urllib抓取贴吧邮箱和QQ实例

    python3用urllib抓取贴吧邮箱和QQ实例

    在本篇文章里小编给大家整理了关于python3中运用urllib抓取贴吧的邮箱以及QQ的实例内容,需要的朋友们可以学习下。
    2020-03-03
  • Python使用flask作为web服务器的代码实现

    Python使用flask作为web服务器的代码实现

    Python Flask 框架是一个轻量级的 Web 框架,它简单易用,灵活多变,非常适合用于构建小型到中型规模的 Web 应用程序,本文给大家介绍了Python使用flask作为web服务器的代码实现,需要的朋友可以参考下
    2024-06-06
  • 一文全面详解Python变量作用域

    一文全面详解Python变量作用域

    变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友可以参考下
    2025-06-06
  • Python实现从log日志中提取ip的方法【正则提取】

    Python实现从log日志中提取ip的方法【正则提取】

    这篇文章主要介绍了Python实现从log日志中提取ip的方法,涉及Python文件读取、数据遍历、正则匹配等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Python开发生产环境常用的4个工具(实用推荐)

    Python开发生产环境常用的4个工具(实用推荐)

    构建优秀的软件需要遵循特定的规则并执行行业标准,如何在真实的生产环境开发中体现呢?在这篇文章中,我将向您展示我在Python项目中设置的4种工具,以简化开发工作流程并执行一些最佳实践,这些工具帮助我提高了效率,节省了时间,希望你读完也能有所收获
    2024-01-01
  • 详解Python中__new__和__init__的区别与联系

    详解Python中__new__和__init__的区别与联系

    在Python中,每个对象都有两个特殊的方法:__new__和__init__,本文将详细介绍这两个方法的不同之处以及它们之间的联系,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Django Highcharts制作图表

    Django Highcharts制作图表

    Highcharts图表控件是目前使用最为广泛的图表控件 ,是纯JS图表库。这篇文章主要介绍了Django Highcharts制作图表的相关资料,非常的详细,有需要的小伙伴可以来参考下
    2016-08-08
  • python 绘制国旗的示例

    python 绘制国旗的示例

    这篇文章主要介绍了python 绘制国旗的示例,帮助大家利用python绘制,处理图像,感兴趣的朋友可以了解下
    2020-09-09
  • Python删除列表中多个元素的四种方法总结

    Python删除列表中多个元素的四种方法总结

    这篇文章主要给大家介绍了关于Python删除列表中多个元素的四种方法,在Python中想要删除列表的某个元素,可以使用本文介绍的方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-09-09

最新评论