当前位置:首页 > CN2资讯 > 正文内容

代理迭代迭代器迭代

2天前CN2资讯

你构建了一个自定义容器对象,里面包含有列表、元组或其他可迭代对象。 你想直接在你的这个新容器对象上执行迭代操作。

class Node: def __init__(self, value): self._value = value self._children = [] def __repr__(self): return 'Node({!r})'.format(self._value) def add_child(self, node): self._children.append(node) def __iter__(self): return iter(self._children) # Example if __name__ == '__main__': root = Node(0) child1 = Node(1) child2 = Node(2) root.add_child(child1) root.add_child(child2) # Outputs Node(1), Node(2) for ch in root: print(ch)

输出:

Node(1) Node(2)

讨论

Python的迭代器协议需要 __iter__() 方法返回一个实现了 __next__() 方法的迭代器对象。

如果你只是迭代遍历其他容器的内容,你无须担心底层是怎样实现的,你所要做的只是传递迭代请求既可。

这里的 iter() 函数的使用简化了代码, iter(s) 只是简单的通过调用 s.__iter__() 方法来返回对应的迭代器对象, 就跟 len(s) 会调用 s.__len__() 原理是一样的。

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/32064.html

    标签: 代理迭代
    分享给朋友:

    “代理迭代迭代器迭代” 的相关文章

    如何优雅退出ping -t命令:实用技巧与方法指南

    在当今的网络世界里,许多人时常需要检查网络连通性。这个时候,'ping'命令就显得非常实用。简单来说,'ping'命令的主要作用是检测与特定目标主机之间的连接状态。通过发送ICMP回显请求,它可以告诉我们目标设备是否可达,延迟情况如何等信息。 在众多的‘ping’命令中,‘ping -t’是特别常用...

    Virmach虚拟主机评测:高性价比VPS服务推荐

    大家好,今天我想和你聊一聊Virmach,这是一家我非常推荐的虚拟主机提供商。Virmach专注于提供VPS(虚拟专用服务器)服务,近年来逐渐在行业中赢得了一席之地。它的价格相对亲民,而服务质量与稳定性也让人感到满意。很多人选择它,主要是因为它不仅适合个人用户,也非常受中小企业欢迎。 Virmach...

    VPS流媒体解锁测试:确保顺畅访问全球流媒体内容

    在如今的互联网时代,流媒体已经成为我们日常生活中不可或缺的一部分。无论是观看热门电视剧,还是播放最新的音乐视频,流媒体服务的便捷性吸引了无数用户。然而,涉及不同地区提供的内容时,依然存在一些区域限制。这时,VPS(虚拟专用服务器)流媒体解锁技术的重要性便不言而喻。 VPS流媒体解锁是指通过虚拟专用服...

    如何选择便宜的海外服务器来提升业务效率

    什么是海外服务器 海外服务器简单来说,就是在国外数据中心托管的服务器。那些需要在国外提供服务和访问的企业或者个人,会选择这种类型的服务器。比起本地服务器,海外服务器往往能提供更好的网络速度和稳定性,尤其是对某些特定的地区来说。如果你有过在网上购物或者访问国际网站的经历,或许你会发现他们的响应速度比一...

    掌握域名优惠,轻松获取注册及续费折扣

    什么是域名优惠? 在网络世界中,域名可以说是你的“家”,而域名优惠则是你入住这个“家”时所获取的折扣或者促销活动。简单来说,域名优惠就是在购买或者续费域名时,所享受到的价格减免。这种优惠通常由域名注册商提供,旨在吸引更多用户注册和使用他们的服务。我们可以看到,域名优惠不仅限于初次注册,也包括后期的续...

    虚拟主机与服务器的区别:选择最佳网络解决方案

    在现代互联网环境中,虚拟主机和服务器这两个词时常会交替出现。作为一个初学者,了解它们的基本概念是非常重要的。接下来,我将分别给大家介绍虚拟主机与服务器的定义以及它们之间的主要区别。希望通过我的描述,能够帮助大家更清晰地认识这两个概念。 首先,我想谈谈虚拟主机的定义。虚拟主机是通过虚拟化技术在一台物理...