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可迭代对象和迭代器对象详解相关推荐

  1. python哪些类型可以作为迭代器_详解Python迭代和迭代器

    我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange. 可迭代 一个对象,物理或者虚拟存储的序列.list,tuple,strins,dicttionary, ...

  2. 传入json对象_【Python基础】可迭代对象amp;迭代器对象及其实现

    可迭代对象 首选确保for循环的in后面是一个可迭代对象,这样就能通过python内置函数iter()得到一个迭代器对象(iterator) 我们分别把列表list_test和字符串str_test分 ...

  3. python——常见内置函数、可迭代对象与迭代器对象

    目录 一.常见内置函数 1.abs() 2.all()与any() 3.bin() oct() hex() 4.int() 5.bytes() 6.callable() 7.chr() ord() 8 ...

  4. python中常用的内置函数,可迭代对象,迭代器对象

    知识点1 :常用内置函数 1 常用内置函数的实际应用 1.1 abs() 返回值是一个绝对值,参数可以是整数和浮点数,如果参数是一个复数,则返回它的模. print(abs(-12.3)) # 12. ...

  5. python学习Day14 带参装饰器、可迭代对象、迭代器对象、for 迭代器工作原理、枚举对象、生成器及生成表达式...

    复习 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.返回内部函数对象---->  延迟执行, 开放封闭原则: 功能可以拓展,但源代 ...

  6. python迭代-可迭代对象与迭代器对象

    可迭代对象与迭代器对象 问题举例 某软件要求,从网络抓取各个城市的气温信息,并依次显示: 北京:15~22 上海:18~23 ...... 如果一次抓取所有城市气温信息再显示,显示第一个城市的气温时会 ...

  7. 十八、可迭代对象、迭代器对象和生成器

    可迭代对象.迭代器对象和生成器 一 可迭代对象 二 迭代器对象 三 迭代器优缺点 三 for循环原理 四 异常处理 4.1 什么是异常 4.2 异常操作 4.2.1 语法 4.2.2 实际操作 4.2 ...

  8. python中requests库的用途-python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...

  9. python整数池_对Python中小整数对象池和大整数对象池的使用详解

    1. 小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提 ...

  10. 可迭代对象与迭代器对象

    可迭代对象与迭代器对象 1 > 常见的内置函数2 1.1 > help() 查看注释信息 1.2 > id() 返回一串相当于内存地址的数字 1.3 > int() 类型转换. ...

最新文章

  1. PHP 命名空间(namespace)
  2. 关于maven工程中一直报和依赖包json-lib-2.4-jdk15.jar相关错误的问题解决方法
  3. ExtJS4.x动态加载js文件
  4. Android之提示Caused by: java.lang.UnsupportedOperationException: Binary XML file line #67: You must sup
  5. 2016我的程序员总结
  6. 【程序设计】流程图的规范和绘制
  7. CentOS 修改主机名(host)
  8. impala查询数据与hive的查询数据比对(数据的校验)
  9. C#.NET中数组、ArrayList和List三者的区别
  10. 数据库已关闭。请指定主机身份证明以访问数据库重新启动和诊断工具
  11. 获取Nist的美国官方标准时间的解决办法
  12. Vulkan Tutorial
  13. Java基础知识总结(一)创建和销毁对象
  14. 【Vue组件】从零开始实现一个支持插入自定义表情的评论组件
  15. C++中的delete与delete[]
  16. loop variable ‘numerator‘ creates a copy from type ‘const std::string‘ [-Wrange-loop-construct]
  17. 迅雷该怎么把区块链这件事做好?
  18. 帷幄匠心 c++ qt岗位,一二三四面 2个半小时
  19. Unknown database ‘ ‘
  20. web页面 新消息提示音

热门文章

  1. vue移动端项目实现真机调试
  2. ubuntu完全卸载Docker
  3. graphviz linux 运行,绘图工具Graphviz学习使用
  4. Socket通信(TCP协议)
  5. AOD.Net用户登录认证实验
  6. java利用jacob,文字转语音文件,windows
  7. java 图片缩小模糊问题
  8. 软件协会第01次活动第04次任务布置:爱心代码+数组练习
  9. 空手道及主要流派简介
  10. .net,我真的需要你?