Python基于yield遍历多个可迭代对象


Posted in Python onMarch 12, 2020

使用itertools工具类中的chain方法,可以很方便的将多个iterable对象一起遍历. 不过,对于dict类型的iterable对象,只会遍历key.

from itertools import chain
my_list = [1, 2, 3]
my_dict = {
  'name': 'zs',
  'age': 45
}
# 使用chain将三个可迭代对象一起遍历, dict是打印key
for value in chain(my_list, my_dict, range(20, 30)):
  print(value, end=",") # 1,2,3,name,age,20,21,22,23,24,25,26,27,28,29,

下面自定义一个my_chain,用于实现上面的功能

def my_chain(*args, **kwargs):
  """注意: args是一个tuple, tuple是一个可迭代对象"""
  for iterable_obj in args:
    for value in iterable_obj:
      yield value
for value in my_chain(my_list, my_dict, range(20, 30)):
  print(value, end=",") # 1,2,3,name,age,20,21,22,23,24,25,26,27,28,29,

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的id()函数解密过程
Dec 25 Python
python连接mongodb操作数据示例(mongodb数据库配置类)
Dec 31 Python
python使用xlrd模块读写Excel文件的方法
May 06 Python
Python正规则表达式学习指南
Aug 02 Python
Python常见内置高效率函数用法示例
Jul 31 Python
使用python将图片按标签分入不同文件夹的方法
Dec 08 Python
python里运用私有属性和方法总结
Jul 08 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
Jun 01 Python
python反爬虫方法的优缺点分析
Nov 25 Python
Python通过4种方式实现进程数据通信
Mar 12 #Python
Python多进程编程multiprocessing代码实例
Mar 12 #Python
Python多线程多进程实例对比解析
Mar 12 #Python
Python线程协作threading.Condition实现过程解析
Mar 12 #Python
Python 实现网课实时监控自动签到、打卡功能
Mar 12 #Python
Python基于read(size)方法读取超大文件
Mar 12 #Python
Python函数生成器原理及使用详解
Mar 12 #Python
You might like
论建造顺序的重要性
2020/03/04 星际争霸
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
浅析PHP文件下载原理
2014/12/25 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
ExtJs中简单的登录界面制作方法
2010/08/19 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
Bootstrap精简教程
2015/11/27 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
python实现K最近邻算法
2018/01/29 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
python推导式的使用方法实例
2021/02/28 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
竞聘演讲稿怎么写
2014/08/28 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
网络舆情信息简报
2015/07/21 职场文书
物业公司管理制度
2015/08/05 职场文书
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL