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 相关文章推荐
在Linux下使用Python的matplotlib绘制数据图的教程
Jun 11 Python
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
python下如何查询CS反恐精英的服务器信息
Jan 17 Python
浅析python协程相关概念
Jan 20 Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
Oct 24 Python
在Python中使用turtle绘制多个同心圆示例
Nov 23 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
如何在Django中使用聚合的实现示例
Mar 23 Python
python百行代码自制电脑端网速悬浮窗的实现
May 12 Python
python中def是做什么的
Jun 10 Python
python区块链实现简版工作量证明
May 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
php类中private属性继承问题分析
2012/11/01 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
javascript中的delete使用详解
2013/04/11 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
js实现tab切换效果
2017/02/16 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
python实现文件路径和url相互转换的方法
2015/07/06 Python
Python数据结构之单链表详解
2017/09/12 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
Python是什么 Python的用处
2020/05/26 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
值传递还是引用传递
2015/02/08 面试题
应届生护士求职信
2013/11/01 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
大学生就业策划书范文
2014/04/04 职场文书
项目经理任命书
2014/06/04 职场文书
2015教师个人工作总结范文
2015/03/31 职场文书
校园广播站开场白
2015/06/01 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python