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的web.py框架实现类似Django的ORM查询的教程
May 02 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
python矩阵转换为一维数组的实例
Jun 05 Python
python调用外部程序的实操步骤
Mar 04 Python
使用python模拟高斯分布例子
Dec 09 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
python实现3D地图可视化
Mar 25 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
python3中确保枚举值代码分析
Dec 02 Python
解析目标检测之IoU
Jun 26 Python
Python+Matplotlib+LaTeX玩转数学公式
Feb 24 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 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中static静态变量的使用方法详解
2010/06/04 PHP
php短域名转换为实际域名函数
2011/01/17 PHP
使用Sphinx对索引进行搜索
2013/06/25 PHP
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
详解VUE 数组更新
2017/12/16 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
Vue基本指令实例图文讲解
2021/02/25 Vue.js
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python中正则表达式的详细教程
2015/04/30 Python
python读写二进制文件的方法
2015/05/09 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
python实现实时监控文件的方法
2016/08/26 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
python对json的相关操作实例详解
2017/01/04 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
Django 拆分model和view的实现方法
2019/08/16 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
python 写一个文件分发小程序
2020/12/05 Python
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
网吧收银员岗位职责
2013/12/14 职场文书
《鸟岛》教学反思
2014/04/26 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle