Python中的配对函数zip()解读

作者:ckSpark 时间:2021-04-14 20:54:33 

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

标签:Python,配对函数,zip
0
投稿

猜你喜欢

  • JSQL 批量图片切换的实现代码

    2023-09-05 06:47:59
  • Oracle19c 创建表空间遇到的坑

    2024-01-15 14:18:24
  • JS内部事件机制之单线程原理

    2024-05-03 15:58:24
  • Python turtle实现贪吃蛇游戏

    2021-07-20 12:57:57
  • uniapp使用H5调试时跨域问题解决

    2024-05-09 10:37:11
  • MySQL联表查询基本操作之left-join常见的坑

    2024-01-14 20:49:22
  • mysql字符串格式化方式

    2024-01-16 14:13:31
  • Symfony学习十分钟入门经典教程

    2023-11-14 23:38:38
  • SQLserver中的declare变量用法

    2024-01-18 22:40:19
  • 解决python matplotlib imshow无法显示的问题

    2023-07-19 23:59:25
  • ElementUI的this.$notify.close()调用不起作用的解决

    2024-05-09 09:53:16
  • 微信小程序实现签字功能

    2024-04-16 09:26:12
  • 详解如何使用Python操作MySQL的各种功能

    2024-01-21 15:09:05
  • PyTorch基础之torch.nn.Conv2d中自定义权重问题

    2023-10-13 05:16:31
  • 详解Go 依赖管理 go mod tidy

    2024-05-02 16:25:17
  • golang容易导致内存泄漏的6种情况汇总

    2024-04-25 13:20:17
  • cnpm不是内部命令的解决方案:配置环境变量【推荐】

    2023-03-11 13:27:47
  • Python-openCV开运算实例

    2022-06-18 18:53:35
  • python基础编程小实例之计算圆的面积

    2023-06-07 06:33:14
  • MySQL取出随机数据

    2024-01-19 22:12:02
  • asp之家 网络编程 m.aspxhome.com