python zip()函数详解

前言

python 2.x版本的zip()函数会直接返回列表,python3.x版本会返回zip对象,但是不论哪个版本所包含的元素是一样的都是元组类型

zip() 函数是python内置函数之一,可以将多个序列(列表,元组,字典,字符串以及range()区间构成的列表)压缩成一个zip对象,就是将这些序列中对应的位置元素重新组合生成一个个新的元组

zip() 函数的语法格式为:

zip(iterable, ...)

其中 iterable,… 表示多个列表、元组、字典、集合、字符串,甚至还可以为 range() 区间。

示例1:

test_list = [1,2,3]
test_tuple = (1,2,3)

# 返回的结果是对象
print('===object===>": ',zip(test_list,test_tuple))
#使用列表推导式转成列表
print('===list===>": ',[i for i in zip(test_list,test_tuple)])
#直接转成列表
print(list(list(zip(test_list,test_tuple))))

示例2

# 长短不一致,以短的一方为主
test_str = 'python'
test_str1= 'java'

test_dir = {'name':'jibu','age':30}
test_dir1 = {'name':'jibu','age':30}

#字符串压缩
print('===str===>: ',list(zip(test_str,test_str1)))
#这样好像没啥意义
print('===dir===>: ',list(zip(test_dir,test_dir1)))
#可以获取字典的key
print('===dir===>: ',list(zip(test_dir)))

结果
===str===>:  [('p', 'j'), ('y', 'a'), ('t', 'v'), ('h', 'a')]
===dir===>:  [('name', 'name'), ('age', 'age')]
===dir===>:  [('name',), ('age',)]

应用场景
先需要将A,B两个列表转换成字典

A = ["a", "b", "c", "d"]
B = [1, 2, 3, 4]

result = dict(zip(A,B))
print(result)

结果
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

一般在做操作的时候都建议使用python的内置函数,这样效率很高

  • 21
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季布,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值