Python基于yield遍历多个可迭代对象

作者:我太难了008 时间:2023-01-05 23:01:32 

使用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,

来源:https://www.cnblogs.com/z-qinfeng/p/12109749.html

标签:Python,yield,遍历,迭代,对象
0
投稿

猜你喜欢

  • Python的基本语法详解

    2022-10-27 22:38:42
  • JavaScript DOM节点操作方法总结

    2024-04-16 09:24:36
  • python实现在cmd窗口显示彩色文字

    2023-03-23 22:49:01
  • Opera浏览器简介

    2009-02-05 20:56:00
  • python从ftp获取文件并下载到本地

    2021-06-28 17:08:31
  • PHP中PDO事务处理操作示例

    2023-11-21 14:54:12
  • go语言实现markdown解析库的方法示例

    2023-06-20 07:37:32
  • vue使用canvas绘制圆环

    2024-05-02 17:04:29
  • Mysql实现定时清空一张表的旧数据并保留几条数据(推荐)

    2024-01-17 06:38:11
  • python中doctest库实例用法

    2022-07-22 16:52:30
  • Python实现批量下载ts文件并合并为mp4

    2022-07-15 20:24:09
  • 七十六个网站用户体验要点

    2010-08-11 14:52:00
  • js函数setTimeout延迟执行的简单介绍

    2024-05-05 09:15:14
  • python实现人脸识别经典算法(一) 特征脸法

    2021-07-15 11:35:03
  • python中__call__内置函数用法实例

    2022-06-04 11:46:32
  • asp任何取得多个表单的值

    2008-04-15 15:31:00
  • 利用d3.js力导布局绘制资源拓扑图实例教程

    2024-05-22 10:35:26
  • Vue项目中keepAlive的使用说明(超级实用版)

    2024-05-02 16:34:02
  • sql server编写archive通用模板脚本实现自动分批删除数据

    2024-01-18 03:27:11
  • Python调用VBA实现保留原始样式的表格合并方法

    2022-10-18 02:40:45
  • asp之家 网络编程 m.aspxhome.com