zip()函数函数的使用

Python中的zip()与*zip()函数详解 实验环境: Python 3.6; 示例代码地址:下载示例; 本文讲解了python中的zip()函数和*zip()函数,并给出了代码示例和应用实现。 阅读详情

zip在python3中,处于优化内存的考虑,只能访问一次!!!(python2中可以访问多次),童鞋们一定要注意,

* coding: utf-8 *

“””
zip()函数的定义:从参数中的多个迭代器取元素组合成一个新的迭代器;
返回: 返回一个zip对象,其内部元素为元组;可以转化为列表或元组;
传入参数: 元组、列表、字典等迭代器。
当zip()函数中只有一个参数时,zip(iterable)从iterable中依次取一个元组,组成一个元组。
“”“

在python 3.0中有个大坑,zip中的数据只能操作一次,内存就会释放,当下次

访问时就会报错,例如例子1中的输出操作

1、zip()函数单个参数

print(‘=‘*10 + “zip()函数单个参数” + ‘=‘*10)
list1 = [1, 2, 3, 4]
tuple1 = zip(list1)

list2=list(tuple1)

打印zip函数的返回类型

print(“zip()函数的返回类型:\n”, type(tuple1))#类型为

将zip对象转化为列表

print(“zip对象转化为列表:\n”, list(tuple1))#值为[(1,), (2,), (3,), (4,)]
print(“zip对象转化为列表:\n”, list(tuple1))#值为[]

print(“list2输出的列表1为:\n”,list2)
print(“list2输出的列表2为:\n”,list2)
“””
当zip()函数有两个参数时:zip(a,b)zip()函数分别从a和b依次各取出一个元素组成
元组,再将依次组成的元组组合成一个新的迭代器–新的zip类型数据。
注意:要求a与b的维数相同,当两者具有相同的行数与列数时,正常组合对应位置元素即可;
当a与b的行数或列数不同时,取两者结构中最小的行数和列数,依照最小的行数和列数将
对应位置的元素进行组合;这时相当于调用itertools.zip_longest(*iterables)函数。
“”“

2、zip()函数有2个参数

print(‘=‘*10 + “zip()函数有2个参数” + ‘=‘*10)
m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
n = [[2, 2, 2], [3, 3, 3], [4, 4, 4]]
p = [[2, 2, 2], [3, 3, 3]]

行与列相同

print(“行与列相同:\n”, list(zip(m, n)))

值为[([1, 2, 3], [2, 2, 2]), ([4, 5, 6], [3, 3, 3]), ([7, 8, 9], [4, 4, 4])]

行与列不同

print(“行与列不同:\n”, list(zip(m, p)))

值为[([1, 2, 3], [2, 2, 2]), ([4, 5, 6], [3, 3, 3])]

3、zip()应用,也可以使用for循环+列表推导式实现

矩阵相加减、点乘

m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
n = [[2, 2, 2], [3, 3, 3], [4, 4, 4]]

矩阵点乘

print(‘=‘*10 + “矩阵点乘” + ‘=’10)#左右两端各有10个
print([x*y for a, b in zip(m, n) for x, y in zip(a, b)])

[2, 4, 6, 12, 15, 18, 28, 32, 36]

矩阵相加,相减雷同

print(‘=‘*10 + “矩阵相加,相减” + ‘=‘*10)
print([x+y for a, b in zip(m, n) for x, y in zip(a, b)])

[3, 4, 5, 7, 8, 9, 11, 12, 13]

4、*zip的操作

m5=[1,2,3]
n5=[4,5,6]
k5=[7,8,9]
zip5=zip(m5,n5,k5)

print(“list(zip5):”,list(zip5))不能输出,否则zip(*zip5)

就无法执行

m6,n6,k6=zip(*zip5)
print(“m6:”,m6)#m6: (1, 2, 3)
print(“n6:”,n6)#n6: (4, 5, 6)
print(“k6:”,k6)#k6: (7, 8, 9)

5、*zip()函数

*zip()函数是zip()函数的逆过程,将zip对象变成原先组合前的数据。

print(‘=‘*10 + “*zip()函数” + ‘=‘*10)
m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
n = [[2, 2, 2], [3, 3, 3], [4, 4, 4]]

print(“zip(m, n)返回:\n”, zip(m, n)) #
print(“*zip(m, n)返回:\n”, *zip(m, n))

*zip(m, n)返回:([1, 2, 3], [2, 2, 2]) ([4, 5, 6],[3, 3, 3]) ([7, 8, 9], [4, 4, 4])

print(“list(zip(m, n))返回:\n”, list(zip(m, n)))

list(zip(m, n))返回: [([1, 2, 3], [2, 2, 2]), ([4, 5, 6], [3, 3, 3]), ([7, 8, 9], [4, 4, 4])]

m2, n2 = zip(*zip(m, n))#先合到一块
print(“m2:”,m2)#([1, 2, 3], [4, 5, 6], [7, 8, 9])
print(“n2:”,n2)#([2, 2, 2], [3, 3, 3], [4, 4, 4])
print(m == list(m2) and n == list(n2))#true

​银行IT运维人必看!IT运维监控指标大全,一篇讲透 文章摘要:本文从七个维度系统阐述了IT运维指标体系,涵盖机房环境、基础设施、网络设施、数据存储、虚拟化平台、数据库中间件和应用层。作者结合20年金融行业经验,详细分析了各层级关键监控指标、正常范围及异常后果,并给出典型故障场景。重点强调现代运维需从被动响应转向主动预防,通过精细化指标管理实现系统稳定性保障。文章特别指出,在国产化与DevOps背景下,运维工作需兼顾传统架构与新兴技术,构建全方位监控体系,将运维从"故障报警"升级为"业务守护"。 阅读详情

相关推荐

基于C#的跨平台上位机开发:一次编写,多平台运行

摘要: 本文探讨了如何利用C#进行跨平台上位机开发,以适配Windows、Linux、macOS等多平台需求。通过分析传统单平台开发的局限性(如API差异、硬件接口兼容性),提出基于.NET 5/6/7的解决方案,重点推荐Avalonia(类WPF的跨平台UI框架)和GtkSharp(基于GTK+)实现图形界面。同时,针对硬件通信需求,介绍了System.IO.Ports串口通信和LibUsbDotNet的跨平台支持,并强调多平台调试(VS Code、Docker)的重要性,最终实现一次编码、多端部署的高效

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1408

zip()和zip(*)函数的使用详解

Zip()函数既可以压缩序列(列表、元组、字典、集合、range())到一个zip文件,也可以用于拆分序列。具体使用案例会结合部分代码进行描述。两个序列长度不同时,zip函数会按照最短序列长度截取对齐。新生成的元素构成元组对。二、zip()函数用于提取两个序列的数据。一、zip()函数将两个序列压缩。

li1784506的博客 1869

BES平台集成第三方音频算法避坑指南:以声加ENC为例,聊聊文件放置、内存分配与授权那些事

本文详细解析了在BES平台上集成声加ENC降噪算法的全流程,包括技术选型、系统架构设计、内存管理及量产授权等关键环节。特别针对BES平台的双核架构和内存限制,提供了文件放置、内存分配与授权验证的实用解决方案,帮助开发者高效实现音频算法集成。

weixin_33720956的博客 514

zip()函数的用法

#转载自https://www.cnblogs.com/jin-liang/p/9987661.html python中zip()函数的用法 zip函数的原型为:zip([iterable, …]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。也就是说,该函数返回一个以元组为元素的列表,其中第 i 个元组包含每

Hu_Linson的博客 1万+

如何用Python实现SPEI指数计算?从数据准备到结果可视化完整指南

本文提供了一份完整的Python实现SPEI指数计算指南,涵盖从数据准备、潜在蒸散量计算到结果可视化的全流程。详细介绍了使用Thornthwaite方法计算PET、拟合三参数log-logistic分布以及标准化转换的核心算法,并提供了模块化代码和可视化方案,帮助用户构建可复用的干旱分析工具。

cola5的博客 267

《python神经网络编程》程序实现

《python神经网络编程》程序实现 通过对这本书的学习,结合这本书的内容: 完成了以下代码: 其中NN.py实现了一个类,这个类可以完成神经网络的初始化,训练以及输入数据并得出结果。 而run.py则是对神经网络类的使用 NN.py: import numpy import scipy.special #神经网络类的实现 class neuralNetwork: #构造函数初始化类 def __init__(self,inputnodes,hiddennodes,outputnodes

ms8617484的博客 619

Python中zip函数及用法

Python中zip函数及用法

IT之一小佬的博客 3695

lidar点云比赛-Southlidar软件使用入门

lidar点云比赛-Southlidar软件使用入门 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院: 智控无人机小组 写作时间:2020.09.29 一、软件资源及安装 1.下载地址: https://pan.baidu.com/s/1jN1pynmAZOqj5mMx774pVg 提取码:gkvv (资源来自南方测绘) 2.安装 进入链接,找到软件文件夹, 内含文件即为安装包 3.下载成功后按提示安装即可 4.安装成功后桌面自动创建一个快捷方式 二、界面布

qq_49621416的博客 4891

【python】zip()函数介绍

迭代器是一个可以记住遍历的位置的对象,它允许一次访问一个元素,直到所有的元素被访问完结束。是 Python 中一个非常实用的内置函数,用于将可迭代的对象(如列表、元组、字典等)作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象(注意,返回的其实是一个。(因为字典是无序的),但如果有两个字典的键是对应的,并且想要将它们合并成一个新的字典,其中键是相同的,值是一个元组,那么。例如,有两个列表,一个包含学生的名字,另一个包含他们的分数,想要将它们配对并打印出来。为了能够在需要时多次访问。

MAOZI8的博客 8912

接入穿山甲SDK时,Unity打Android包报错日志

SDK工程设置为Enable,项目工程设置为Disable。2、将unitypackage导入包名为:com.DefaultCompany.Myproject的另一个工程,打包报错。3、点击工程默认弹出Enable Android Auto-resolution 设置选项,点击Enable。1、新建一个空工程,设置包名为:com.ceshi.hewen,正常打包无报错,导出unitypackage。2、点击Reset to Defaults 重置参数,再点击ok关闭设置窗口。

不文不武的禾文 3583

CCAR-23《正常类飞机适航规定》和CCAR-25《运输类飞机适航规定》差异分析

通过详细比较CCAR-23和CCAR-25在适用范围、设计标准、性能要求、运行限制、安全冗余和环境适应性方面的差异,我们可以看出,CCAR-23适用于轻型飞机,开发和运营成本较低,设计要求相对简单。而CCAR-25适用于大规模运输飞机,设计、开发、测试和运营管理都需要更高的复杂性和投入。

qq_41854911的博客 3706

数据组合利器:从入门到精通Python中的zip()函数应用

zip()函数是Python内置的一个非常有用的函数,它可以将多个可迭代对象打包成一个元组构成的新的可迭代对象。本文将深入探讨zip()函数的用法,从入门到精通。通过本文的讲解,我们了解了zip()函数的基本用法和高级用法,以及它在循环、解压缩和转置等方面的应用。zip()函数可以将多个可迭代对象打包成一个新的可迭代对象。使用zip()函数可以在循环中同时迭代多个可迭代对象。当可迭代对象的长度不等时,zip()函数会停止在最短的可迭代对象结束迭代。结合*操作符可以实现多个列表的合并和转置。

子午的博客 1509

STM32 USB键盘实现指南

在STM32上实现键盘功能可以通过USB HID(人机接口设备)协议来实现,使STM32设备能被计算机识别为标准键盘。通过上述步骤,您可以在STM32上实现一个功能完整的USB键盘。关键点包括:正确配置USB HID设备实现键盘矩阵扫描处理按键事件并生成HID报告优化按键响应和消抖处理添加额外功能如宏键和LED反馈这个实现可以作为基础,进一步扩展为游戏键盘、宏键盘或特殊输入设备。

suny8的专栏 969

Python zip() 函数

描述 zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。 zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。 语法 zip 语法: zip([iterable, ...]) 参数说明: ite.

Drug discovery 2万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

python中的zip()函数详解

一、zip(*iterables)函数详解 1、zip()函数的定义 从参数中的多个迭代器取元素组合成一个新的迭代器 返回:一个zip对象,其内部元素为元组;可以转化成列表或元组 传入参数:元组、列表、字典等迭代器 2、zip()函数的用法 当zip()函数中只有一个参数时,zip(iterable)从迭代器中依次取一个元组,组成一个元组。 # python 3 # zip()函

wyisfish的博客 3万+

Python-zip()函数

Python-zip函数zip()zip(*zipped) zip() zip函数的使用方法很简单,看一个例子就懂了。 a = [1, 2, 3] b = [4, 5, 6] c = [4, 5, 6, 7, 8] a_b_zip = zip(a, b) # 打包为元组的列表,而且元素个数与最短的列表一致 print("type of a_b_zip i...

Death Note 4万+

python中的zip()函数

一、zip(*iterables)函数详解 1、zip()函数的定义 从参数中的多个迭代器取元素组合成一个新的迭代器 传入参数:列表、元组、字典 返回值:一个zip对象,其内部元素为元组;可以转化成列表或者元组 2、zip()函数的用法 当zip()函数中只有一个参数时,zip(iterable)从迭代器中依次选取一个元组,组成一个元组。 # python 3 # zip()函数单个参...

fly_Xiaoma的博客 557

python中zip()函数的用法_Python zip()函数用法实例分析

本文实例讲述了python zip()函数用法。分享给大家供大家参考,具体如下:这里介绍python中zip()函数的使用: >>> help(zip)Help on built-in function zip in module __builtin__:zip(...)zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...),...

weixin_42505477的博客 4055

Python map() 函数 zip()函数

map()函数: map() 会根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 map() 函数语法: map(function, iterable, ...) function – 函数 iterable – 一个或多个序列 实例: >>> map(la...

thunder_k的博客 284

Python中的zip() 函数

在Python中,zip()函数是一个非常强大且常用的内置函数,它主要用于将多个可迭代对象(如列表、元组、字符串等)作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的zip对象(在Python 3中,zip对象是一个迭代器,需要迭代访问其中的元素)。这一功能在数据处理、多序列同步迭代、以及将多个列表合并为一个字典等场景中特别有用。下面,我们将详细探讨zip()函数的使用方法和应用场景,并通过实例来加深理解。

hong161688的博客 1355

python中zip的使用_浅谈Python中的zip()与*zip()函数详解

前言1.实验环境: Python 3.6;2.示例代码地址:下载示例;3.本文中元素是指列表、元组、字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表)。zip(*iterables)函数详解zip()函数的定义从参数中的多个迭代器取元素组合成一个新的迭代器;返回:返回一个zip对象,其内部元素为元组;可以转化为列表或元组;传入参数:元组、列表、字典等迭代器。zip()函数的用法当zip...

weixin_39526415的博客 170

python中enumerate() 与zip()函数的使用比较

enumerate() 与zip()是两个常用的内置函数,这两个函数功能类似,同时又存在差异。介绍如下: 一、enumerate() 函数 该函数中文解释:枚举、列举的意思。 用于将一个可遍历的数据对象(如:列表、元组、字符串等)组合为一个索引序列,同时列出:数据和数据下标 一般在for循坏中使用,可同时得到数据对象的值及对应的索引值 a = ['one','two','three','fou...

weixin_43307577的博客 2727

python zip()函数详解

前言 python 2.x版本的zip()函数会直接返回列表,python3.x版本会返回zip对象,但是不论哪个版本所包含的元素是一样的都是元组类型 zip() 函数是python内置函数之一,可以将多个序列(列表,元组,字典,字符串以及range()区间构成的列表)压缩成一个zip对象,就是将这些序列中对应的位置元素重新组合生成一个个新的元组 zip() 函数的语法格式为: zip(iterable, ...) 其中 iterable,… 表示多个列表、元组、字典、集合、字符串,甚至还可以为 rang

weixin_47906106的博客 1万+

python中zip()函数基本用法

python中zip()函数基本用法 zip()函数接受一系列可迭代对象作为参数,将不同对象中相对应的元素打包成一个元组(tuple),返回由这些元组组成的list列表,如果传入的参数的长度不等,则返回的list列表的长度和传入参数中最短对象的长度相同。 举例1 x = [1,2,3,4,5] y = ['a','b','c','d'] xy = zip(x,y) print

牧野的博客 1万+

python3中zip()函数

前言 与python2.x版(生成list)中,不同的是,python3.x生成的是可迭代对象,需要再使用list()去处理,并提取出来其中数据。 使用 方法一: list() >>> confirm = zip((1, 2), (3, 4)) >>> confirm = list(confirm) >>> for j in range(len(confirm)): ... print(confirm[j]) ... (1, 3) (2,

weixin_42715225的博客 512
上一篇: pickle序列化
下一篇: 2_2逻辑回归在神经网络中的实现
junchengberry
博客等级 码龄19年 27粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值