python学习004——zip()函数
admin
2024-03-16 18:03:00

004_zip()函数

  • zip() 函数是 Python 内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)“压缩”成一个 zip 对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组

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

zip(iterable, ...)
  • iterabl – 一个或多个迭代器;

  • 示例01

    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 is{}".format(type(a_b_zip)))
    a_b_zip = list(a_b_zip)
    print(a_b_zip)
    a_c_zip = zip(a, c)
    a_c_zip = list(a_c_zip) 
    # zip()函数的返回对象转换成list不是必须的,只是为了方便输出,list输出很直观
    print(a_c_zip)
    
  • 输出:

type of a_b_zip is
[(1, 4), (2, 5), (3, 6)]
[(1, 4), (2, 5), (3, 6)]

zip()函数接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组*),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用号操作符,可以将list unzip(解压)

Python3.0开始,zip()函数已经不返回 list 了,而是返回 iterable(可迭代对象)。这个可迭代对象需要特别注意,只能进行一次迭代遍历,第二次遍历为空了。
  • 示例02
a = [1, 2, 3]
c = [6, 7, 8]
a_c_zip = zip(a,c)
# print(list(a_c_zip))_ac =zip(* a_c_zip)
print(list(_ac)) # 结果为[(1, 2, 3), (6, 7, 8)]
#如果没把上面的 print(list(a_c_zip)) 注掉,这里的显示结果就是[]了
zip()之后的结果只能“使用一次”
zip()实际上是一个生成器对象,故使用list()获取zip()结果时,已经相当于是完成一次迭代遍历
第二次再次使用list()时迭代已经结束,所以返回[]
  • 示例03

将A,B两个列表转换成字典

A = ["汪二", "张三", "李四", "彭五"]
B = [1, 2, 3, 4]result = dict(zip(A,B))
print(result)
  • 输出
{'汪二': 1, '张三': 2, '李四': 3, '彭五': 4}

相关内容

热门资讯

教师专享福利!北京这些景区免票... 新京报讯 据首都教育消息,教师节将至,北京多家景区为老师们准备了专属免票福利!这份优惠合集已整理好,...
黑茶,喝的是一种境界与健康 在专门用来喝黑茶的茶具“飘逸杯”里,黑茶茶汤看起来并不像“黑茶”这个名字那样黑黢黢的一团。 玻璃器皿...
上海旅游节大巡游花车阵容抢先看... 2026上海旅游节大巡游9月12日外滩启幕,21辆全新主题花车携手21支境内外表演方队联袂登场,邀你...
原创 8... 上周门诊来了位 62 岁的张阿姨,得糖尿病快五年了,平时管嘴特别严,糖果、点心、甜饮料一概不碰,连水...
原创 餐... 2026年9月8日晚,南京浦口区泰冯路29号,墨语江南·阿婆菜餐厅户外帐篷里,灯火温润,其间还天降喜...