Python zip()
Python zip()
内置函数zip()通过聚合给定的 iterable 返回一个元组或压缩对象,它可能有零个或多个 iterable 作为其参数。
**zip(*iterables)** #where iterable may be list, string, dict etc
zip()参数:
它可能使用一个或多个迭代器作为参数。*运算符可用于将列表与zip()一起解压缩。
参数 | 描述 | 必需/可选 |
---|---|---|
可重复的 | 可以是内置的 iterable(如:list、string、dict)或用户定义的 iterable | 需要 |
zip()返回值
zip()没有参数,那么结果将是一个包含空迭代器的 zip 变量。
| 投入 | 返回值 | | 单一可滴定的 | 具有单个元素的元组 | | 多项 | 具有来自所有表的元素的元组 |
Python 中zip()方法的示例
示例zip()在 Python 中是如何工作的
number_list = [5, 6, 7] string_list = ['five', 'six', 'seven'] # No iterables are passed result = zip() # Converting iterator to list result_list = list(result) print(result_list) # Two iterables are passed result = zip(number_list, string_list) # Converting iterator to set result_set = set(result) print(result_set)
输出:
[] {(7, 'seven'), (6, 'six'), (5, 'five')}
示例 2:不同数量的可迭代元素
numbers_List = [5, 6, 7] string_list = ['five', 'six'] numbers_tuple = ('FIVE', 'SIX', 'SEVEN', 'EIGHT') # Notice, the size of numbersList and numbers_tuple is different result = zip(numbers_List, numbers_tuple) # Converting to set result_set = set(result) print(result_set) result = zip(numbers_List, string_list, numbers_tuple) # Converting to set result_set = set(result) print(result_set)
输出:
{(7, 'SEVEN'), (6, 'SIX'), (5, 'FIVE')} {(6, 'six', 'SIX'), (5, 'five', 'FIVE')}
示例 3:如何使用zip()解压缩该值
coordinates = ['x', 'y', 'z'] values = [1, 2, 3] result = zip(coordinates, values) result_list = list(result) print(result_list) c, v = zip(*result_list) print('c =', c) print('v =', v)
输出:
[('x', 1), ('y', 2), ('z', 3)] c = ('x', 'y', 'z') v = (1, 2, 3)
评论关闭