Python可迭代对象和迭代器对象详解
1、可迭代对象
'''
迭代对象是一个自身可迭代(__iter__)或者序列(_getitem__)
'''# 迭代例子,列表和字符串是可迭代对象
l = [1, 2, 3, 4]
s = 'abcde'
for x in l:print(x, end=' ')
print()
# 使用dir()函数,查看对象属性和方法,列表迭代对象包含一个__iter__()内置方法
print(dir(l))
for x in s:print(x, end=' ')
print()
# 字符串迭代对象包含一个__getitem__()内置方法
print(dir(s))
2、迭代器对象
'''
for循环的in后面是一个可迭代对象,可迭代对象再使用
Python内置函数iter()可得到一个迭代器对象。
即由可迭代对象使用iter()得到迭代器。
'''# iter(l)得到列表、字符串迭代器对象
print(iter(l))
print(iter(s))
# 迭代器对象同时包含__iter__()和__next__()内置方法
print(dir(iter(l)))
print(dir(iter(s)))
from collections.abc import Iterable, Iterator# 判断iter(l)是不是迭代器
print(isinstance(iter(l), Iterator))# 使用next()函数每次返回一个迭代器的元素,整个列表都迭代完毕,会抛出StopIteration异常
t = iter(l)
print(next(t))
print(next(t))
print(next(t))
print(next(t))
# print(next(t))
# 迭代器对象跟for循环的工作机制一样
for x in l: print(x)
Python可迭代对象和迭代器对象详解相关推荐
- python哪些类型可以作为迭代器_详解Python迭代和迭代器
我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange. 可迭代 一个对象,物理或者虚拟存储的序列.list,tuple,strins,dicttionary, ...
- 传入json对象_【Python基础】可迭代对象amp;迭代器对象及其实现
可迭代对象 首选确保for循环的in后面是一个可迭代对象,这样就能通过python内置函数iter()得到一个迭代器对象(iterator) 我们分别把列表list_test和字符串str_test分 ...
- python——常见内置函数、可迭代对象与迭代器对象
目录 一.常见内置函数 1.abs() 2.all()与any() 3.bin() oct() hex() 4.int() 5.bytes() 6.callable() 7.chr() ord() 8 ...
- python中常用的内置函数,可迭代对象,迭代器对象
知识点1 :常用内置函数 1 常用内置函数的实际应用 1.1 abs() 返回值是一个绝对值,参数可以是整数和浮点数,如果参数是一个复数,则返回它的模. print(abs(-12.3)) # 12. ...
- python学习Day14 带参装饰器、可迭代对象、迭代器对象、for 迭代器工作原理、枚举对象、生成器及生成表达式...
复习 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.返回内部函数对象----> 延迟执行, 开放封闭原则: 功能可以拓展,但源代 ...
- python迭代-可迭代对象与迭代器对象
可迭代对象与迭代器对象 问题举例 某软件要求,从网络抓取各个城市的气温信息,并依次显示: 北京:15~22 上海:18~23 ...... 如果一次抓取所有城市气温信息再显示,显示第一个城市的气温时会 ...
- 十八、可迭代对象、迭代器对象和生成器
可迭代对象.迭代器对象和生成器 一 可迭代对象 二 迭代器对象 三 迭代器优缺点 三 for循环原理 四 异常处理 4.1 什么是异常 4.2 异常操作 4.2.1 语法 4.2.2 实际操作 4.2 ...
- python中requests库的用途-python中requests库session对象的妙用详解
在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...
- python整数池_对Python中小整数对象池和大整数对象池的使用详解
1. 小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提 ...
- 可迭代对象与迭代器对象
可迭代对象与迭代器对象 1 > 常见的内置函数2 1.1 > help() 查看注释信息 1.2 > id() 返回一串相当于内存地址的数字 1.3 > int() 类型转换. ...
最新文章
- PHP 命名空间(namespace)
- 关于maven工程中一直报和依赖包json-lib-2.4-jdk15.jar相关错误的问题解决方法
- ExtJS4.x动态加载js文件
- Android之提示Caused by: java.lang.UnsupportedOperationException: Binary XML file line #67: You must sup
- 2016我的程序员总结
- 【程序设计】流程图的规范和绘制
- CentOS 修改主机名(host)
- impala查询数据与hive的查询数据比对(数据的校验)
- C#.NET中数组、ArrayList和List三者的区别
- 数据库已关闭。请指定主机身份证明以访问数据库重新启动和诊断工具
- 获取Nist的美国官方标准时间的解决办法
- Vulkan Tutorial
- Java基础知识总结(一)创建和销毁对象
- 【Vue组件】从零开始实现一个支持插入自定义表情的评论组件
- C++中的delete与delete[]
- loop variable ‘numerator‘ creates a copy from type ‘const std::string‘ [-Wrange-loop-construct]
- 迅雷该怎么把区块链这件事做好?
- 帷幄匠心 c++ qt岗位,一二三四面 2个半小时
- Unknown database ‘ ‘
- web页面 新消息提示音