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中的一些类型转换函数小结
Feb 10 Python
分析Python中设计模式之Decorator装饰器模式的要点
Mar 02 Python
关于Python的一些学习总结
May 25 Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 Python
python读出当前时间精度到秒的代码
Jul 05 Python
用python3 返回鼠标位置的实现方法(带界面)
Jul 05 Python
详解PyTorch手写数字识别(MNIST数据集)
Aug 16 Python
从pandas一个单元格的字符串中提取字符串方式
Dec 17 Python
linux 下selenium chrome使用详解
Apr 02 Python
使用Python实现将多表分批次从数据库导出到Excel
May 15 Python
用Python提取PDF表格的方法
Apr 11 Python
python playwright之元素定位示例详解
Jul 23 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
用ODBC的分页显示
2006/10/09 PHP
PHP循环获取GET和POST值的代码
2008/04/09 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
简单通用的JS滑动门代码
2008/12/19 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
微信小程序的分类页面制作
2017/06/27 Javascript
Vue组件化开发思考
2018/02/02 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
基于JavaScript实现单例模式
2019/10/30 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
分析python服务器拒绝服务攻击代码
2014/01/16 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python简单实现获取当前时间
2016/08/27 Python
Python字典简介以及用法详解
2016/11/15 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Python关于反射的实例代码分享
2020/02/20 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
成品仓管员岗位职责
2013/12/11 职场文书
个人党性剖析材料
2014/02/03 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫