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 相关文章推荐
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
python 实现selenium断言和验证的方法
Feb 13 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
python 整数越界问题详解
Jun 27 Python
python2使用bs4爬取腾讯社招过程解析
Aug 14 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
python爬虫请求头设置代码
Jul 28 Python
Python extract及contains方法代码实例
Sep 11 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 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类的定义与继承用法实例
2015/07/07 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
微信小程序实现购物车功能
2020/11/18 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
python爬虫之遍历单个域名
2019/11/20 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
五种Python转义表示法
2020/11/27 Python
基于Python实现粒子滤波效果
2020/12/01 Python
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
国培教师自我鉴定
2014/02/12 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
员工离职通知函
2015/04/25 职场文书
赞助商致辞
2015/07/30 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
Golang 并发下的问题定位及解决方案
2022/03/16 Golang