欢迎访问宙启技术站
智能推送

在Python中使用zip()函数的方法和示例

发布时间:2023-06-27 04:10:48

Python中的zip()函数是一种将多个序列,即列表、元组或字符串等,合并成一个元组序列的函数,可以通过将多个序列逐对合并成一个元组的方式来创建一个新的序列。它接受任意多个序列作为参数,并返回一个list,其中每个元素是一个元组,每个元组包含了每个序列中位置相同的元素。

使用方法:

zip()函数的基本语法为:zip(*iterables),其中*iterables表示可以同时传递多个序列进行合并。返回的结果是元组列表。

示例:

1. 将两个列表进行合并,生成新的列表,两个列表中相同位置的元素合并为一个元组。

list1=[1,2,3]
list2=[4,5,6]
zipped=zip(list1,list2)
print(list(zipped))
#[(1, 4), (2, 5), (3, 6)]

2. 将多个列表进行合并:

list1=[1,2,3]
list2=[4,5,6]
list3=[7,8,9]
zipped=zip(list1,list2,list3)
print(list(zipped))
#[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

3. 将两个字符串进行合并,生成新的列表,两个字符串中相同位置的字符合并为一个元组:

str1='abc'
str2='def'
zipped=zip(str1,str2)
print(list(zipped))
#[('a', 'd'), ('b', 'e'), ('c', 'f')]

4. 对zip()函数进行解压缩:

zipped=[(1, 4), (2, 5), (3, 6)]
list1, list2 = zip(*zipped)
print(list(list1))
#[1, 2, 3]
print(list(list2))
#[4, 5, 6]

5. 使用zip()函数实现矩阵转置:

matrix=[[1,2,3],[4,5,6],[7,8,9]]
print(list(zip(*matrix)))
#[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

注意事项:

1. 当传入多个序列时,zip()函数会返回最短序列的长度。

2. zip()函数返回的结果是一个可迭代对象,需要通过list()函数将其转化为列表。

3. 在使用zip()函数时,需要使用*操作符将序列拆解为单独的元素。