分享

Python zip函数及用法

 码农9527 2021-09-09

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

Pythonzip函数及用法

    和Python3.x版本不同,Python2.x版本中的zip()函数会直接返回列表,而不是返回zip对象。但是,返回的列表或者zip对象,其包含的元素(都是元组)是相同的。

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

zip(iterable, ...)1复制代码类型:[python]

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

    下面程序演示了zip()函数的基本用法:

my_list = [11,12,13]
my_tuple = (21,22,23)
print([x for x in zip(my_list,my_tuple)])
my_dic = {31:2,32:4,33:5}
my_set = {41,42,43,44}
print([x for x in zip(my_dic)])
my_pychar = "python"my_shechar = "shell"print([x for x in zip(my_pychar,my_shechar)])123456789复制代码类型:[python]

    程序执行结果为:

[(11, 21), (12, 22), (13, 23)]
[(31,), (32,), (33,)]
[('p', 's'), ('y', 'h'), ('t', 'e'), ('h', 'l'), ('o', 'l')]123复制代码类型:[python]

    如果读者分析以上的程序和相应的输出结果不难发现,在使用zip()函数“压缩”多个序列时,它会分别取各序列中第1个元素、第2个元素、...第n个元素,各自组成新的元组。需要注意的是,当多个序列中元素个数不一致时,会以最短的序列为准进行压缩。

    另外,对于zip()函数返回的zip对象,既可以像上面程序那样,通过遍历提取其存储的元组,也可以向下面程序这样,通过调用list()函数将zip()对象强制转换成列表:

my_list = [11,12,13]
my_tuple = (21,22,23)
print(list(zip(my_list,my_tuple)))123复制代码类型:[python]

    程序执行结果为:

[(11, 21), (12, 22), (13, 23)]

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多