内置函数zip

zip是干嘛用的?

zip函数可以快速便捷的对多组列表或迭代器进行遍历重组, 也就是说能够完成简单的二维数组组成工作.

样例代码: 二维数组组成
# -.- coding:utf-8 -.-
__author__ = ‘zt‘

l1 = [1, 2, 3, 4]
l2 = [5, 6, 7, 8]
l3 = [9, 10, 11, 12]

print zip(l1, l2, l3)         # python 2
print(list(zip(l1, l2, l3)))  # python 3

输出结果: 这就是一个二维数组
[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]
[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]

zip的使用场景?

多列表组成二维数组

如上例子

二维数组转换回多个列表

样例代码:
# -.- coding:utf-8 -.-
__author__ = ‘zt‘

x = [(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]

l1, l2, l3 = zip(*x)

print l1
print l2
print l3

输出结果:
(1, 2, 3, 4)
(5, 6, 7, 8)
(9, 10, 11, 12)

利用zip生成字典

样例代码:
# -.- coding:utf-8 -.-
__author__ = ‘zt‘

l1 = ["姓名", "年龄", "性别", "籍贯", "兴趣爱好"]
l2 = ["张三", 25, "男", "海南", "LOL"]

print dict(zip(l1, l2))

输出结果:
{‘兴趣爱好‘: ‘LOL‘, ‘年龄‘: 25, ‘籍贯‘: ‘海南‘, ‘姓名‘: ‘张三‘, ‘性别‘: ‘男‘}

注意事项和结论:

1. 若使用zip来生成字典, 那么列表对象或可迭代对象只能是两个, 因为字典的每个元素只有两个对象(一个是键、另外一个是值).

2. 再写代码过程中因为目前对二维数组处理相对来说比较少, zip内置函数使用不多, 如果以后有大量使用, 再持续补充使用场景.

时间: 2024-11-02 02:17:09

内置函数zip的相关文章

python 内置函数zip,map,三元,lambda表达式

#内置函数zip(),将多个可迭代对象(集合等)按照顺序进行组合成tuple元祖,放在zip 对象进行存储,: #当参数为空时候,返回空 #如果 zip() 函数压缩的两个列表长度不相等,那么 zip() 函数将以长度更短的列表为准; list_t1= [1,2,3] list_t2 =['apple','orange','banana'] list_t3 = [50,60,70,80] list_t4 = (500,600,700,800) list_z1 = zip(list_t1,list

Python 内置函数 -- zip(), sorted(), filter()和map()

内置函数1. zip() 打包(木桶效应)描述: zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个个元组, 然后返回由这些元组组成的列表语法: zip([iterable, ...])参数: iterable -- 一个或多个迭代器返回值: 返回可迭代对象 # 实例: lst1 = ["中国", "美国", "俄罗斯", "日本"] lst2 = ["北京", "华盛顿&

Python标准库:内置函数zip(*iterables)

本函数是实现从多个序列生一个元组列表迭代子返回,即是从每个序列里获取一项,然后把所有的项生成元组,再把这些元组生成列表返回.如果有多个序列,以最短的序列为元组的个数.如果在参数前面添加*表示反向处理,即是从元组列表转换为分离的列表返回. 例子: #zip() l = [1, 2, 3] x = [4, 5, 6] print(list(zip(l, x))) x = [4, 5] print(list(zip(l, x))) y = (7, 8, 9) print(list(zip(l, x,

python基础:内置函数zip,map,filter

一.zip zip,就是把俩list,合并到一起,如果想同时循环2个list的时候,可以用zip,会帮你轮流循环两个list 比如: l1=[1,2,3,4,5] l2=['a','b','c','d','e'] for a,b in zip(l1,l2): print(a,b) #得到的结果就是1 a2 b3 c4 d5 e 如果两个list的长度不一致,则以长度小的为依据 比如: l1=[1,2,3,4] l2=['a','b','c','d','e'] for a,b in zip(l1,

【python】内置函数zip

接收两个或多个序列,并返回一个元组列表,并且每个元组列表包含来自每个序列中的第一个元素 s = "abc" t = [11,23,45] print(zip(s,t)) for pair in zip(s,t): print(pair) print(list(zip(s,t))) D:\Python\Python35\python.exe D:/PycharmProjects/helloworld/src/zipTest.py<zip object at 0x00000201D6

[oldboy-django][5python基础][内置函数]zip

python3中,把两个或两个以上的迭代器封装成生成器,在循环遍历生成器中,不断产生元组. 如果提供的迭代器长度不对等,生成器的长度为最短迭代器的长度. # coding= utf-8 # zip 多个可迭代对象同时跑,然后各自的值组合起来 # 长度不对等情况 L1 = [1, 2, 3] L2 = 'abcd' z = zip(L1, L2) print(list(z)) # 输出[(1, 'a'), (2, 'b'), (3, 'c')] # 长度对等 L1 = [1, 2, 3] L2 =

Python_函数_内置函数02

Python的内置函数 zip()函数 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表. zip()示例 test = zip([1,2,3],[4,5,6]) print (test) # 结果为([1,4],[2,5],[3,6]) test1 = zip([1,2,3],[4,5,6,7]) print (test1) #

Python经常使用内置函数介绍【filter,map,reduce,apply,zip】

Python是一门非常简洁,非常优雅的语言,其非常多内置函数结合起来使用,能够使用非常少的代码来实现非常多复杂的功能,假设相同的功能要让C/C++/Java来实现的话,可能会头大,事实上Python是将复杂的数据结构隐藏在内置函数中,用C语言来实现,所以仅仅要写出自己的业务逻辑Python会自己主动得出你想要的结果.这方面的内置函数主要有,filter,map,reduce,apply,结合匿名函数,列表解析一起使用,功能更加强大.使用内置函数最显而易见的优点是: 1. 速度快,使用内置函数,比

lambda函数,常用函数,内置函数(string,zip()map()filter())的用法

lambda函数胡使用#coding:utf-8g = lambda x,y:x*y/*必须亦g=*/print g(2,3)/*print必须有*/swtich函数使用 def jia(x,y):    return x+ydef jian(x,y):    return x-ydef cheng(x,y):    return x*ydef chu(x,y):    return x/yoperator = {"+":jia,"-":jian,"*&q