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 命令行非阻塞输入的小例子
Sep 27 Python
Python语言的12个基础知识点小结
Jul 10 Python
python文件操作整理汇总
Oct 21 Python
在Python中使用Neo4j数据库的教程
Apr 16 Python
PyMongo安装使用笔记
Apr 27 Python
让python 3支持mysqldb的解决方法
Feb 14 Python
Python 装饰器深入理解
Mar 16 Python
使用tensorflow实现线性回归
Sep 08 Python
python输入多行字符串的方法总结
Jul 02 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
PageFactory设计模式基于python实现
Apr 14 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 404错误页面实现代码
2009/06/22 PHP
一步一步学习PHP(8) php 数组
2010/03/05 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
python绘制雪景图
2019/12/16 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
美的官方商城:Midea
2016/09/14 全球购物
老师给学生的表扬信
2014/01/17 职场文书
结婚喜宴主持词
2014/03/14 职场文书
建筑投标担保书
2014/05/20 职场文书
生活部的活动方案
2014/08/19 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
晚会开幕词
2015/01/28 职场文书
详解Python描述符的工作原理
2021/06/11 Python