1、通过举例反向迭代一个列表优化,由浅入深讲解迭代器

正向迭代器:iter()方法

反向迭代器:reversed()方法

# 反向迭代l中的元素
# 方法1:可以现将列表反序然后再去迭代,但这种方法改变了原列表
l1 = [1, 2, 3, 4, 5]
l1.reverse()
print(l1)# 方法2:不改变原列表,使用切片操作,但这种情况得到了和原列表等大的新列表
l2 = [1, 2, 3, 4, 5]
print(l2[::-1])# 方法3:"推荐"使用内置函数reversed(),得到列表的反向迭代器
l3 = [1, 2, 3, 4, 5]
print(reversed(l3))
# 和reversed()对立的就是iter()它会得到列表的正向迭代器
print(iter(l3))
# 最终,使用revered得到列表的反向迭代
for x in reversed(l3):print(x, end=" ")
print()
'''
iter()方法实际上调用的是列表的__iter__()方法.
同样,reversed()方法实际调用的是列表的__reversed__()方法
'''
print(l3.__iter__())
print(l3.__reversed__())

Python正向和反向迭代器介绍相关推荐

  1. 【C++】模拟实现List的正向和反向迭代器(iterator、reverse_iterator)

    文章目录 1.搭建List的基本框架 2.List中iterator和const_iterator 3.反向迭代器revser_iterator 1.搭建List的基本框架 STL中List容器底层是 ...

  2. python正向索引 反向索引_理解正向索引

    倒排索引也叫做反向索引(inverted单词也有反转的意思,只不过大家喜欢翻译成倒排索引). 倒排索引在搜索引擎中经常用到,倒排索引也叫做反向索引.某天在想,为什么叫做倒排索引呢?倒过来的,反转过来的 ...

  3. C++进阶——反向迭代器Reverse_iterator

    C++进阶--反向迭代器Reverse_iterator Reverse_iterator反向迭代器介绍 之前我们学过适配器,但是只实现了普通的迭代器,可是反向迭代器没有实现,当时说之后会实现的,没错 ...

  4. 反向迭代器reverse_iterator模拟实现

    准备工作 相同的命名空间可以分割在不同的文件中,编译器最后都会合成在同一个命名空间下. 我们的reverse_iterator是个适配器,为什么叫适配器,是因为它需用正向迭代器做适配.简言之,反向迭代 ...

  5. python反向迭代器_Python中对象迭代与反迭代的技巧总结

    一.如何实现可迭代对象和迭代器对象? 实际案例 某软件要求从网络抓取各个城市气味信息,并其次显示: 北京: 15 ~ 20 天津: 17 ~ 22 长春: 12 ~ 18 ...... 如果一次抓取所 ...

  6. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装 1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/ ...

  7. python:容器、迭代器、生成器 简单介绍

    python:容器.迭代器.生成器 简单介绍 python提供了多种数据类型来存放数据项. 之前已经介绍了几个python中常用的容器,分别是列表list.元组tuple.字典dict和集合set. ...

  8. 反向迭代器和正向迭代器

    文章目录 反向迭代器和正向迭代器 1. 正向迭代器 1.1 list结构 1.2 list代码框架 1.3 代码结合框架 1.3.0 list_node类 1.3.1 list类 1.3.2 list ...

  9. 杂记1:正向反向迭代器,不同stl容器的lower_bound的使用(set,map,vector,arr,pair),数字转字符串

    感觉自己记性真的不行,很多之前用过,查过的知识点都忘掉了,开个博客记一下吧. 文章目录 迭代器 lower_bound,upper_bound 可以忽略,我暂时没发现用处 这个比较有用:不同容器的lo ...

  10. chatgpt赋能python:Python迭代器介绍:什么是迭代器?

    Python迭代器介绍:什么是迭代器? 在Python编程中,迭代器是一种可迭代对象,允许您按顺序遍历数据集合.它可以帮助您更好地理解和处理大量数据,从而提高代码的效率和可读性. 迭代器的用法:如何使 ...

最新文章

  1. python嵩天课后思考题_Python语言程序设计基础(第二版)嵩天等课后习题答案
  2. Qt中的 Size Hints 和 Size Policies
  3. DSP学习初阶的一些笔记
  4. RSA加密解密简单使用
  5. jvm性能调优实战 - 47超大数据量处理系统是如何OOM的
  6. apachejmeter_java源码_自定义编写jmeter的Java测试代码
  7. MongoDB 初体验:存储引擎 MMAPv1 与高内存消耗及升级迁移
  8. [转] openssl dgst命令完成SHA256哈希校验和RSA数字签名
  9. 如何成为一名真正专业的程序员
  10. [BZOJ4066]简单题
  11. 导入grafana的dashboards模板
  12. 人型自走输入法(网页日语输入法)
  13. 【电脑技术】修改无线网卡MAC地址失败的原因
  14. 12.1 hashlib--安全的哈希计算和签名库
  15. 三菱FX系列PLC备份电池电压低报警的处理方法
  16. 天龙八部玄武岛BOSS
  17. linux系统CPU隔离isolcpu参数设置
  18. 图解:网络硬件的发展史
  19. mysql自定义变量比较大小_MySQL 自定义变量@ 常用案例
  20. mysql truncated_mysql数据截断

热门文章

  1. C++ Beep()演奏简谱的改进以及实现背景音乐
  2. 网络分层流转---从浏览器请求到服务端响应究竟经历了什么?
  3. 数字人事系统 java_市国税局“数字人事”信息系统正式上线
  4. STM32cubeMX I2S DMA双缓冲配置
  5. STM32 内核复位 与 系统复位 区别及程序实现
  6. 3.Tom猫的实现(帧动画播放)
  7. linux md5检测工具下载,教你校验 Debian 软件包的MD5
  8. linux添加虚拟主机
  9. 机器学习实战-使用matplotlib绘制决策树
  10. 【链表】找出直系亲属