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实现带错误处理功能的远程文件读取方法
Apr 29 Python
python通过openpyxl生成Excel文件的方法
May 12 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
Dec 14 Python
Python语言描述连续子数组的最大和
Jan 04 Python
Python机器学习算法之k均值聚类(k-means)
Feb 23 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
Python装饰器基础概念与用法详解
Dec 22 Python
python3 webp转gif格式的实现示例
Dec 10 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 Python
Scrapy爬虫文件批量运行的实现
Sep 30 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基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
js 省地市级联选择
2010/02/07 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
python k-近邻算法实例分享
2014/06/11 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Python多线程获取返回值代码实例
2020/02/17 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
python -v 报错问题的解决方法
2020/09/15 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
《诺贝尔》教学反思
2014/02/17 职场文书
升旗仪式主持词
2014/03/19 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
Mysql Online DDL的使用详解
2021/05/20 MySQL
Python爬虫实战之爬取携程评论
2021/06/02 Python