Python基于yield遍历多个可迭代对象
作者:我太难了008 发布时间:2023-01-05 23:01:32
标签:Python,yield,遍历,迭代,对象
使用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


猜你喜欢
- 在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的
- 为了能够正常使用,先把所提供的global.asa文件放到该应用程序的根目录中。最简单的办法是把global.asa文件放到缺省Web网站的
- vue项目依赖升级报错处理1.Vue Router 升级到3.5.1报错:Navigation cancelled from "/
- 问题说明(环境:windows7,MySql8.0)今天安装好MySql后启动MySql服务-->启动服务都失败的就不要往下看了,自行
- 话不多说,直接附上源码,仅供参考封装了一下,要用的话直接调用下面getEvent函数即可function getEvent() { if (
- 1. 生成for 2005版本的数据库脚本 2008 的manger studio -- 打开"对象资源管理
- 本文实例讲述了mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作
- 一、文本文件读取与写入1 读取文件的 read() 方法file_object.read([size])file_object 表示文件对象
- 自己写的一款基于bootstrap风格的弹框插件,暂时只有确认框、提示框。后续功能扩展、bug修改再更新。;(function($){ //
- 背景我们使用MySQL存储了FriendFeed的所有数据。数据库随着用户基数的增长而增长了很多。现在已经存储了超过2.5亿条记
- cmd中输入net start mysql 提示:服务名无效请进入MySQL的bin目录,并在bin目录打开命令行窗口,或设置系统环境变量,
- python2:print语句,语句就意味着可以直接跟要打印的东西,如果后面接的是一个元组对象,直接打印python3:print函数,函数
- 用 ASP (using jscript) 在服务端创建 GUID 的代码如下:function GUID(){ ret
- 做项目的时候,用户认证几乎是必不可少的,如果我们的项目由于一些原因不得不使用 users 之外的用户表进行认证,那么就需要多做一点工作来完成
- 目录1.闭包:用函数代替类2.访问定义在闭包的内的变量1.闭包:用函数代替类有时我们会定义只有一个方法(除了__init__()之外)的类,
- UDP 套接字是可以使用 connect 系统调用连接到指定的地址的。从此以后,这个套接字只会接收来自这个地址的数据,而且可以使用 send
- 监测主机存活的端口#!/usr/bin/env python# coding-utfimport argparseimport socket
- python的思维就是让我们用尽可能少的代码来解决问题。对于词频的统计,就代码层面而言,实现的方式也是有很多种的。之所以单独谈到统计词频这个
- 本文代码重点在于演示Python扩展库matplotlib.pyplot中fill_between()函数的用法。import numpy
- 前言centos 是自带python的。但是版本稍微旧一些。搞python开发,肯定要用新一点的稳定版。所以,要升级一下python。本文将