Python中zip函数讲解
2022/2/9 17:42:40
本文主要是介绍Python中zip函数讲解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:
1.示例1:
x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print (xyz)
运行的结果是:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
从这个结果可以看出zip函数的基本运作方式。
2.示例2:
x = [1, 2, 3] y = [4, 5, 6, 7] xy = zip(x, y) print (xy)
运行的结果是:
[(1, 4), (2, 5), (3, 6)]
从这个结果可以看出zip函数的长度处理方式。
3.示例3:
x = [1, 2, 3] x = zip(x) print (x)
运行的结果是:
[(1,), (2,), (3,)]
从这个结果可以看出zip函数在只有一个参数时运作的方式。
4.示例4:
x = zip() print (x)
运行的结果是:
[]
从这个结果可以看出zip函数在没有参数时运作的方式。
5.示例5:
x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) u = zip(*xyz) print (u)
运行的结果是:
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
一般认为这是一个unzip的过程,它的运行机制是这样的:
在运行zip(*xyz)之前,xyz的值是:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
那么,zip(*xyz) 等价于 zip((1, 4, 7), (2, 5, 8), (3, 6, 9))
所以,运行结果是:[(1, 2, 3), (4, 5, 6), (7, 8, 9)],python中的*号 删除可以看这里
注:在函数调用中使用*list/tuple的方式表示将list/tuple分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)
6.示例6:
''' 学习中遇到问题没人解答?小编创建了一个Python学习交流群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' x = [1, 2, 3] r = zip(* [x] * 3) print (r)
运行的结果是:
[(1, 1, 1), (2, 2, 2), (3, 3, 3)]
它的运行机制是这样的:
-
[x]生成一个列表的列表,它只有一个元素x
-
[x] * 3
生成一个列表的列表,它有3个元素,[x, x, x] -
zip(* [x] * 3)
的意思就明确了,zip(x, x, x)
这篇关于Python中zip函数讲解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-14Python人工智能项目实战:从零开始的实践指南
- 2024-09-14探索Python人工智能资料:初学者的指南
- 2024-09-14Python人工智能资料:初学者的全面指南
- 2024-09-13Matplotlib入门:轻松绘制Python数据可视化图表
- 2024-09-13Python人工智能:初学者的入门指南
- 2024-09-13Python人工智能:轻松入门与实践
- 2024-09-12Python编程入门到精通:从零开始构建你的编程技能
- 2024-09-11Python爬虫学习:从零基础到实战的进阶指南
- 2024-09-11Python爬虫学习:从零开始的简单教程
- 2024-09-11快速上手 Python 学习指南:从零开始轻松掌握基础编程