python 内置函数

python zip()函数用于将多个可迭代对象中对应的元素打包成一个元组, 然后返回由这些元组组成的列表,如果各个迭代器的元素个数不一致, 则返回列表长度是最短的对象的那个长度。它是python的内置函数。

说的什么意思呢?就是打包多个可迭代对象组合成一个新的元组,具体看下面的示例。

语法

语法如下:
zip(iterable, ...)

参数

  • iterable:可迭代的对象

返回值

python2.x 返回元组组成的list列表

python3.x 返回zip object迭代器,需要转换一下看输出效果,具体看下面的例子

程序示例

介绍相关例子了解该函数的使用方法。

例1

列表和列表合并

#!/usr/bin/python
# coding=utf-8
# 列表和列表组合 
lst1 = [1,2,3]
lst2 = ['a','b','c','d']
lst = list(zip(lst1, lst2)) #长度不一致以lst1为准,因为它的长度小
print(lst) 

程序运行结果:

[(1, 'a'), (2, 'b'), (3, 'c')]

上面的例子中,list1和list2的长度不一致以lst1为准,因为它的长度小,返回结果我们需要list()函数转换一下才能看到友好的输出效果。

例2

列表和元组合并

#!/usr/bin/python
# coding=utf-8
# 列表和列表组合 
lst1 = [1,2,3]
tu1 = ('taobao','yxjc123','baidu')
lst = list(zip(lst1, tu1)) #列表和元组合并
print(lst)

程序运行结果:

[(1, 'taobao'), (2, 'yxjc123'), (3, 'baidu')]

例3

列表和字典合并

元组和字典合并

#!/usr/bin/python
# coding=utf-8

lst1 = [1,2,3]
tu1 = (1,2,3)
dic1 = {'one': '111', 'two': '222', 'three': '333'}
lst = list(zip(lst1, dic1)) #列表和字典合并
lst2 = list(zip(tu1, dic1)) #元组和字典合并

print('列表和字典:', lst)
print('元组和字典合并:', lst2)

程序运行结果:

列表和字典: [(1, 'one'), (2, 'two'), (3, 'three')]
元组和字典合并: [(1, 'one'), (2, 'two'), (3, 'three')]

我们看到列表和字典合并、元组和字典合并结果一样;字典合并提取了字典的key值。