Python 高级特性(2)- 可迭代对象 iterable
2023-09-27 14:25:57 时间
前置知识如果给定一个 list 或 tuple 我们可以通过 for 循环来遍历这个 list 或 tuple 这种遍历我们称为迭代 Iteration 在 Python 中 迭代是通过 for ... in 来完成的
人理解迭代,神则体会递归,从电影艺术到Python代码实现神的逆向思维模式 “从来如此,便对么?”,鲁迅先生在《狂人日记》中借狂人之口在月光下发出的质疑与呐喊,是的,从来如此,一般人的思维模式就是从来如此,以高数为例子,我们大抵都是先从数分、线代、解几去学泛函、抽代、拓扑等,其实就是按照标准路子来,这样做理论上可以增加对已学知识的理解程度,并对某些数分、线代中的问题看清其本质有所帮助。数学归纳法其实就是一种迭代(iteration),从一个简单的起点,推广到一般情况。而递归(recursion),则是一种反人类的逆向思维模式,作为研发人员,掌握这种反常识的思维逻辑是非常必要的,这里我们以一个推理故事为开端
高频面试题之Python迭代器和迭代对象的区别 首先有很多开发者是不太在意这个问题的, 因为无论是**迭代器(Iterator)**还是**迭代对象(Iterable)**都不影响我们循环遍历的使用, 再加上名字区别不大, 很多人将这两个东西认为是一个东西, 但是如果面试官单独提出这问题了, 那我们就必须细化区分这2个东西了
lists [1, 2, 3, 4, 5] for i in lists: print(i)
dicts { a : 1, b : 2 for i in dicts: print(i) # 输出结果 b
from collections import Iterable lists [1, 2, 3, 4, 5] dicts { a : 1, b : 2 print(isinstance(lists, Iterable)) print(isinstance(dicts, Iterable)) print(isinstance({ test }, Iterable)) print(isinstance(1234, Iterable)) # 输出结果 False
lists [1, 2, 3, 4, 5] # 看看是不是迭代对象 print(isinstance(enumerate(lists), Iterable)) for ind, val in enumerate(lists): print(ind, val) # 输出结果 4 5
for x, y in [(1, 1), (2, 4), (3, 9)]: print(x, y) # 输出结果 3 9
任何可迭代对象都可以作用于 for 循环 包括我们自定义的数据类型 只要符合迭代条件 就可以使用 for 循环
人理解迭代,神则体会递归,从电影艺术到Python代码实现神的逆向思维模式 “从来如此,便对么?”,鲁迅先生在《狂人日记》中借狂人之口在月光下发出的质疑与呐喊,是的,从来如此,一般人的思维模式就是从来如此,以高数为例子,我们大抵都是先从数分、线代、解几去学泛函、抽代、拓扑等,其实就是按照标准路子来,这样做理论上可以增加对已学知识的理解程度,并对某些数分、线代中的问题看清其本质有所帮助。数学归纳法其实就是一种迭代(iteration),从一个简单的起点,推广到一般情况。而递归(recursion),则是一种反人类的逆向思维模式,作为研发人员,掌握这种反常识的思维逻辑是非常必要的,这里我们以一个推理故事为开端
高频面试题之Python迭代器和迭代对象的区别 首先有很多开发者是不太在意这个问题的, 因为无论是**迭代器(Iterator)**还是**迭代对象(Iterable)**都不影响我们循环遍历的使用, 再加上名字区别不大, 很多人将这两个东西认为是一个东西, 但是如果面试官单独提出这问题了, 那我们就必须细化区分这2个东西了
相关文章
- 数据结构---堆栈(Data Structure Stack Python)
- python函数调用的四种方式 --基础重点
- Python 迭代对象、迭代器、生成器
- Python self,init,对象属性
- python:dist-packages && site-packages
- python利用requests统计1个接口的响应时间
- Python 类/对象
- 流畅的python第十四章可迭代的对象,迭代器和生成器学习记录
- 使用Python,OpenCV追踪对象的轨迹,来确定其移动方向
- “撩过”c++的对象,“拿捏”了python的对象,你还怕拿不下javascript的对象吗?
- PyQt(Python+Qt)学习随笔:QScrollArea滚动区域的scrollAreaWidgetContents、widget及setWidget等相关概念解释
- Python中的"缝合器"zip函数:将多个可迭代对象组合成一个迭代器
- Python中可迭代对象是什么?
- 第4章 基础知识进阶 第4.1节 Python基础概念之迭代、可迭代对象、迭代器
- Python中的可迭代对象、迭代器和生成器,协程的异同点
- python模块导入
- Python webdriver 的多线程处理
- Python入门 class类的继承
- 用 Python 实现一个最简单的对象模型
- 用 Python 实现一个最简单的对象模型
- 【Android 逆向】使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
- python-类对象的遍历操作
- python-类对象的比较
- python-类对象以字典模式操作
- 用PYTHON硬写SOCKET
- python class对象转换成json/字典
- Python_序列对象内置方法详解_String