Python zip 函数:将多个序列结合在一起241


在 Python 中,zip() 函数是将多个序列(如列表、元组或字符串)组合在一起的有用工具。它将这些序列的元素配对,返回一个元组列表,其中每个元组包含来自各个序列的一个元素。

语法

zip() 函数的语法如下:```python
zip(*iterables)
```

其中 *iterables 是要组合的序列。

使用

要使用 zip() 函数,只需将其应用于要合并的序列即可。例如,以下代码将两个列表 a 和 b 的元素分组到元组列表中:```python
a = [1, 2, 3]
b = ['a', 'b', 'c']
zipped_list = zip(a, b)
```

zipped_list 的值是一个元组列表,其中每个元组都包含 a 和 b 中对应位置的元素:```python
[(1, 'a'), (2, 'b'), (3, 'c')]
```

如果序列长度不同,则 zip() 函数将停止组合,直到最短的序列结束。例如,以下代码结合了长度不同的列表 a 和 b:```python
a = [1, 2, 3, 4]
b = ['a', 'b']
zipped_list = zip(a, b)
```

zipped_list 的值是:```python
[(1, 'a'), (2, 'b')]
```

使用 Unzip 操作员 (*)

zip() 函数的解压缩操作符 * 可以用于将元组列表转换为单独的序列。例如,以下代码将 zipped_list 解压缩为两个独立的列表 a 和 b:```python
a, b = zip(*zipped_list)
```

a 和 b 的值现在将为:```python
a = [1, 2]
b = ['a', 'b']
```

进阶用法

除了基本使用之外,zip() 函数还有一些更高级的用法:

使用函数作为参数


zip() 函数接受一个可选的函数参数,该参数应用于每个元组中的元素。例如,以下代码使用 lambda 函数将每个元组中的元素加在一起:```python
zipped_list = zip([1, 2, 3], [4, 5, 6])
summed_list = zip(zipped_list, lambda x: sum(x))
```

summed_list 的值是:```python
[(1, 5), (2, 7), (3, 9)]
```

使用字典作为参数


zip() 函数也可以接受一个字典作为参数,该字典指定用于组合的键。例如,以下代码使用字典将 a 和 b 列表中的元素分组到具有相应键的字典中:```python
keys = ['a', 'b']
zipped_dict = zip(keys, [1, 2])
```

zipped_dict 的值是:```python
{'a': 1, 'b': 2}
```

Python 中的 zip() 函数是一个用于将多个序列组合到元组列表中的强大工具。它在数据处理、分组和解聚方面非常有用。通过理解 zip() 函数的语法、使用和高级用法,开发人员可以更有效地利用 Python 的功能。

2024-10-28


上一篇:15个Python项目让你掌握编程精髓

下一篇:Python 中字符串变量的深入探讨