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的Flask框架中实现分页功能的教程
Apr 20 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
在Django的form中使用CSS进行设计的方法
Jul 18 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
windows 下python+numpy安装实用教程
Dec 23 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
值得收藏的10道python 面试题
Apr 15 Python
对pyqt5中QTabWidget的相关操作详解
Jun 21 Python
10款最好的Python开发编辑器
Jul 03 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
python3.7+selenium模拟淘宝登录功能的实现
May 26 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 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删除HTMl标签的三种解决方法
2013/06/30 PHP
php跨服务器访问方法小结
2015/05/12 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
AJAX的使用方法详解
2017/04/29 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
js实现消灭星星(web简易版)
2020/03/24 Javascript
[00:35]可解锁地面特效
2018/12/20 DOTA
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Python数据集切分实例
2018/12/08 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
python TCP包注入方式
2020/05/05 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
某个公司的Java笔面试题
2016/03/11 面试题
全运会口号
2014/06/20 职场文书
满月酒邀请函
2015/01/30 职场文书
教你如何使用Python开发一个钉钉群应答机器人
2021/06/21 Python
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL