python中的zip函数
发布时间:2023-06-12 14:03:30
zip函数是Python中的内置函数之一,用于将多个可迭代对象的对应项打包成一个元组,返回一个由元组组成的可迭代对象。元组中的第i个元素来自于每个可迭代对象的第i个元素,它有一个很简单的语法:zip(iterable, *iterable)
例如,我们可以使用zip函数将两个列表合并为一个列表:
a = [1, 2, 3] b = ['a', 'b', 'c'] c = zip(a, b) print(list(c))
运行结果:
[(1, 'a'), (2, 'b'), (3, 'c')]
我们还可以使用zip函数来处理字典:
a = {'x': 1, 'y': 2, 'z': 3}
b = {'a': 4, 'b': 5, 'c': 6}
c = zip(a, b)
print(list(c))
运行结果:
[('x', 'a'), ('y', 'b'), ('z', 'c')]
通常,我们将zip函数与for循环一起使用:
a = [1, 2, 3]
b = ['a', 'b', 'c']
for i, j in zip(a, b):
print(i, j)
运行结果:
1 a 2 b 3 c
zip函数在Python中有许多实用的用法,例如:
1.使用zip函数反转字典
我们可以使用zip函数交换字典的键和值,从而获得一个新的字典:
a = {'x': 1, 'y': 2, 'z': 3}
b = dict(zip(a.values(), a.keys()))
print(b)
运行结果:
{1: 'x', 2: 'y', 3: 'z'}
2.使用zip函数计算列表的运算结果
我们可以使用zip函数将多个列表中的元素相乘或相加:
a = [2, 4, 6] b = [1, 3, 5] c = [5, 6, 7] d = [x + y + z for x, y, z in zip(a, b, c)] print(d)
运行结果:
[8, 13, 18]
3.使用zip函数并行迭代不同的可迭代对象
我们可以使用zip函数并行迭代不同的可迭代对象,这极大地简化了代码并节省了时间:
a = [1, 2, 3]
b = ['a', 'b', 'c']
c = ['+', '-', '*']
for x, y, z in zip(a, b, c):
print(x, y, z)
运行结果:
1 a + 2 b - 3 c *
总之,zip函数是Python中一个非常强大且实用的函数,它可以将多个可迭代对象合并在一起,并且非常灵活。对于需要同步处理多个可迭代对象的代码,zip函数经常被使用,它让我们的代码更加简洁和易于阅读。
