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访问纯真IP数据库的代码
May 19 Python
python实现linux服务器批量修改密码并生成execl
Apr 22 Python
Python实现各种排序算法的代码示例总结
Dec 11 Python
python中强大的format函数实例详解
Dec 05 Python
Django实现分页显示效果
Oct 31 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
Feb 29 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
Python 发送邮件方法总结
Aug 10 Python
Python常用外部指令执行代码实例
Nov 05 Python
Numpy中np.max的用法及np.maximum区别
Nov 27 Python
教你怎么用python selenium实现自动化测试
May 27 Python
python数字类型和占位符详情
Mar 13 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中eclipse 用空格替换 tab键
2013/06/24 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
javascript html 静态页面传参数
2009/04/10 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
深入理解js promise chain
2016/05/05 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
jstl中判断list中是否包含某个值的简单方法
2016/10/14 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
vueScroll实现移动端下拉刷新、上拉加载
2019/03/22 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
numpy排序与集合运算用法示例
2017/12/15 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
Python流程控制 if else实现解析
2019/09/02 Python
如何定义一个可复用的服务
2014/09/30 面试题
班干部竞选演讲稿
2014/04/24 职场文书
银行员工考核评语
2014/12/31 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
sql字段解析器的实现示例
2021/06/23 SQL Server