Python中的配对函数zip()解读
作者:ckSpark 发布时间:2021-04-14 20:54:33
标签:Python,配对函数,zip
Python配对函数zip()
1、zip将列表、元组或其他序列的元素进行配对
新建成一个元组构成的列表,它生成列表长度由最短的序列决定:
#zip
seq1=['foo','bar','baz']
seq2=['one','two','three']
zipped=zip(seq1,seq2)
list(zipped)
>>>
>[('foo', 'one'), ('bar', 'two'), ('baz', 'three')]
seq3=[True,False]
zipped2=zip(seq1,seq2,seq3)
list(zipped2)
>>>
>
[('foo', 'one', True), ('bar', 'two', False)]
2、zip的常用场景为同时遍历多个序列
有时和enumerate搭配使用:
mapping={}
for i,(a,b) in enumerate(zip(seq1,seq2)):
print('{0},{1},{2}'.format(i,a,b))
mapping[i]=(a,b)
print(mapping)
>>>
>0,foo,one
1,bar,two
2,baz,three
{0: ('foo', 'one'), 1: ('bar', 'two'), 2: ('baz', 'three')}
3、对于已“配对”的序列
利用zip函数进行拆分
pitchers=[('a','1'),('b','2'),('c','3')]
first_names,last_names=zip(*pitchers)
print(first_names,last_names)
>>>
>('a', 'b', 'c') ('1', '2', '3')
说说zip函数的主要用途
个人理解
zip函数主要用来将n个list中相同location的元素取出来,组成新的data
years = [22,23,24]
names = ['hjw','hyr','lyq']
a = zip(names,years)
print(a) # <zip object at 0x000001A69F80F0C0>
print(list(a)) # [('hjw', 22), ('hyr', 23), ('lyq', 24)]
data = []
for (year,name) in zip(years,names):
data.append({'name':name,'year':year})
print(data)
# [{'name': 'hjw', 'year': 22}, {'name': 'hyr', 'year': 23}, {'name': 'lyq', 'year': 24}]
来源:https://blog.csdn.net/MsSpark/article/details/88782837


猜你喜欢
- 在使用SQL Server 的过程,中由于经常需要从多个不同地点将数据集中起来或向多个地点复制数据,所以数据的导出,导入是极为常见的操作.我
- mysql安装目录使用MySQL AB's Linux RPM分发进行安装后,将在以下系统目录产生文件目录目录内容/usr/bin客
- 看到很多站长工具网,都提供了通过域名获取网站IP的方法。自己也想做一个,网上查了不少代码。有说用WSHSHELL,也有说用ASPPING组件
- 如果你是个学生,你应该会C,C++和Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和
- 起步Pandas最初被作为金融数据分析工具而开发出来,因此 pandas 为时间序列分析提供了很好的支持。 Pandas 的名称来自于面板数
- 第一题:ASP中,VBScript的唯一的数据类型是什么?第二题:在ASP中,VBScript有多种控制程序流程语句,如If…Then, S
- 嵌套SELECT语句也叫子查询,形如:SELECT name FROM bbc WHERE region = (SELECT region
- 如果您还没看过段正淳的css笔记(1)分类之间的横竖线,可以先看看!1、css圆角的做法.为了这个圆角,前段开发们付出的努力是在是太多了.又
- 在Oracle中inset里面的内容如果中有'&'号,有可能会插入失败,下面介绍一下方法:1.在pl/sql中:&a
- // 格式化字符串 Fmt("{0}.[{id}].{name}",{id:1,name:'
- 核心代码是:browser.execute_cdp_cmd('Network.setUserAgentOverride',
- 多线程概述多线程使得程序内部可以分出多个线程来做多件事情,充分利用CPU空闲时间,提升处理效率。python提供了两个模块来实现多线程thr
- 很久没用sqlserver了,今天想打开sqlserver,导入数据做一下数据分析,但当我打开sqlserver工具后连接数据库后,居然报错
- 对于简单的网络例如全连接层Linear可以使用以下方法打印linear层:fc = nn.Linear(3, 5)params = list
- 人生苦短,快学Python!上一周发了一篇文章《Python Tkinter图形工具使用方法及实例解析》,很多小伙伴都希望能多出点教程,今天
- 1 准备工作1.1 环境搭建1.1.1 安装python3.6python安装官网1.1.2 安装django2.2pip install
- 今天说一些golang的基础知识,还有你们学习会遇到的问题,先讲解hello wordpackage mainimport "fm
- 因为m1芯片是arm版本的架构,以前在mac上的很多软件都是基于Intel架构的软件,apple开发了rossta2,可以在m1上运行int
- 本文实例讲述了Python基于scrapy采集数据时使用代理服务器的方法。分享给大家供大家参考。具体如下:# To authenticate
- 基本开发环境· Python 3.6· Pycharm相关模块使用目标网页分析输入想看的小说内容,点击搜索这里会返回很多结果,我只选择第一个