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获取接口数据的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • python 多进程通信模块的简单实现

    python 多进程通信模块的简单实现

    这篇文章主要介绍了python 多进程通信模块的简单实现,需要的朋友可以参考下
    2014-02-02
  • django写用户登录判定并跳转制定页面的实例

    django写用户登录判定并跳转制定页面的实例

    今天小编就为大家分享一篇django写用户登录判定并跳转制定页面的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python读取大文件越来越慢的原因与解决

    python读取大文件越来越慢的原因与解决

    这篇文章主要给大家介绍了关于python读取大文件越来越慢的原因与解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Python中AND、OR的一个使用小技巧

    Python中AND、OR的一个使用小技巧

    这篇文章主要介绍了Python中AND、OR的一个使用小技巧,需要的朋友可以参考下
    2015-02-02
  • opencv python 图像去噪的实现方法

    opencv python 图像去噪的实现方法

    这篇文章主要介绍了opencv python 图像去噪的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】

    Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】

    这篇文章主要介绍了Python 装饰器@,对函数进行功能扩展操作,结合实例形式分析了装饰器的相关使用技巧,以及开闭原则下的函数功能扩展,需要的朋友可以参考下
    2019-10-10
  • python图片格式转换脚本

    python图片格式转换脚本

    大家好,本篇文章主要讲的是python图片格式转换脚本,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • np.array()函数的使用方法

    np.array()函数的使用方法

    本文主要介绍了np.array()函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 使用Python写入内容到制定文件

    使用Python写入内容到制定文件

    这篇文章主要介绍了使用Python写入内容到制定文件,Python只能将字符串写入文本文件,要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式,需要的朋友可以参考下
    2023-07-07

最新评论