python zip的使用方法

强大的zip

一. zip()简介

  • zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。如果各个可迭代对象的元素个数不一致,则返回的对象长度与最短的可迭代对象相同。
  • * 操作与zip()相反,相当于把元组拆分成一个个列表。

二. zip()语法

zip(iterable1, iterable2, …)

iterable1, iterable2,…都是可迭代对象,包括:字符串、列表、元祖、字典。

三. 案例分析

In [1]: id = ['1', '2', '3', '4']
In [2]: name = ['zhangsan', 'lisi', 'wangwu', 'xiaohua']
In [3]: weight = ['165', '140', '130', '110']
In [4]: zipped = zip(a,b)
In [5]: zipped = zip(id, name)
In [6]: print(zipped)
"""
<zip object at 0x000001C906467A88>  # 得到的是一个对象
"""
In [7]: print(list(zipped))    # list()方法可转换为列表
"""
[('1', 'zhangsan'), ('2', 'lisi'), ('3', 'wangwu'), ('4', 'xiaohua')]
"""

In [8]: list(zip(id, name, weight))  #  可同时对三个或者多个对象使用zip()
"""
[('1', 'zhangsan', '165'),
 ('2', 'lisi', '140'),
 ('3', 'wangwu', '130'),
 ('4', 'xiaohua', '110')]
"""
``In [9]: list(zip(*zipped))   # 把zip后的结果分开
"""
Out[10]: [('1', '2', '3', '4'), ('zhangsan', 'lisi', 'wangwu', 'xiaohua')]
"""

In [11]: test1 = [1, 2, 3, 4, 5]
In [12]: test2 = [6, 7, 8]
In [13]: list(zip(test1, test2))  # 对于长度不一样的,选取较短的长度为标准
“”“
Out[14]: [(1, 6), (2, 7), (3, 8)]
”“”

## 对于字典,zip()之后,字典的key组合到一个元祖中
dict1 = {'1': 'zhangsan', '2': 'lisi', '3': 'wangwu'}
dict2 = {'one': '110', 'two': '140', 'three': '90'}
dict1_and_dict2 = zip(dict1, dict2)
print(list(dict1_and_dict2))
“”“
[('1', 'one'), ('2', 'two'), ('3', 'three')]
”“”
list(zip(*zip(dict1, dict2)))
"""
[('1', '2', '3'), ('one', 'two', 'three')]
"""
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值