首页 > 编程语言 >Python zip函数及用法

Python zip函数及用法

时间:2022-10-17 21:38:03浏览次数:88  
标签:函数 zip Python list 元组 用法 my

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

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

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

zip(iterable, ...)

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

下面程序演示了 zip() 函数的基本用法:
  1. my_list = [11,12,13]
  2. my_tuple = (21,22,23)
  3. print([x for x in zip(my_list,my_tuple)])
  4. my_dic = {31:2,32:4,33:5}
  5. my_set = {41,42,43,44}
  6. print([x for x in zip(my_dic)])
  7. my_pychar = "python"
  8. my_shechar = "shell"
  9. print([x for x in zip(my_pychar,my_shechar)])
程序执行结果为:

[(11, 21), (12, 22), (13, 23)]
[(31,), (32,), (33,)]
[('p', 's'), ('y', 'h'), ('t', 'e'), ('h', 'l'), ('o', 'l')]

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

另外,对于 zip() 函数返回的 zip 对象,既可以像上面程序那样,通过遍历提取其存储的元组,也可以向下面程序这样,通过调用 list() 函数将 zip() 对象强制转换成列表:
  1. my_list = [11,12,13]
  2. my_tuple = (21,22,23)
  3. print(list(zip(my_list,my_tuple)))
程序执行结果为:

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

标签:函数,zip,Python,list,元组,用法,my
From: https://www.cnblogs.com/qlsh/p/16800753.html

相关文章

  • Python continue的用法
    和break语句相比,continue语句的作用则没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。仍然以在操作跑步为例,原计划跑10圈,但当跑到2圈半......
  • Python reversed函数及用法
    eserved()是Pyton内置函数之一,其功能是对于给定的序列(包括列表、元组、字符串以及range(n)区间),该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列)。reserved()......
  • Python sorted函数及用法
    sorted()作为 Python 内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。sorted()函数的基本语法格式如下:list=sorted(iterable,key=None......
  • Python函数(函数定义、函数调用)用法详解
    Python 中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如input()、print()、range()、len()函数等等,这些都是Python的内置函数,可以直接使用。除了可以直接......
  • 什么是面向对象,Python面向对象(一切皆对象)
    读者肯定听过 Python 中“一切皆对象”的说法,但可能并不了解它的具体含义,只是在学习的时候听说Python是面向对象的编程语言,本节将向大家详细介绍Python面向对象的含......
  • Python pass语句及其作用
    在实际开发中,有时候我们会先搭建起程序的整体逻辑结构,但是暂时不去实现某些细节,而是在这些地方加一些注释,方面以后再添加代码,请看下面的例子:age=int(input("请输入你......
  • Python if语句嵌套(入门必读)
    前面章节中,详细介绍了3种形式的条件语句,即if、ifelse和ifelifelse,这3种条件语句之间可以相互嵌套。例如,在最简单的if语句中嵌套ifelse语句,形式如下:if表达......
  • Python assert断言函数及用法
    Python assert语句,又称断言语句,可以看做是功能缩小版的if语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行;反之,Python解释器会报AssertionError错误......
  • Python while循环语句详解
    Python 中,while循环和if条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while就会一直重复执行那段代码块。while语句的......
  • Python for循环及用法详解
    Python 中的循环语句有2种,分别是while循环和for循环,前面章节已经对while做了详细的讲解,本节给大家介绍for循环,它常用于遍历字符串、列表、元组、字典、集合等序......