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中数字以及算数运算符的相关使用
Oct 12 Python
Python使用ntplib库同步校准当地时间的方法
Jul 02 Python
python的exec、eval使用分析
Dec 11 Python
Python实现处理逆波兰表达式示例
Jul 30 Python
Pandas统计重复的列里面的值方法
Jan 30 Python
Python判断有效的数独算法示例
Feb 23 Python
Python用Try语句捕获异常的实例方法
Jun 26 Python
3行Python代码实现图像照片抠图和换底色的方法
Oct 10 Python
python实现TCP文件传输
Mar 20 Python
python函数调用,循环,列表复制实例
May 03 Python
pandas实现导出数据的四种方式
Dec 13 Python
python实现的web监控系统
Apr 27 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
一个SQL管理员的web接口
2006/10/09 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
js使用formData实现批量上传
2020/03/27 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
python实现AES加密解密
2019/03/28 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
Python调用C/C++的方法解析
2020/08/05 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
shell程序中如何注释
2012/01/28 面试题
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
租房协议书范本
2014/04/09 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
2016公司年会主持词
2015/07/01 职场文书
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android