zip()和zip(*)

在Python中,zip()zip(*)是两种不同的用法。

一、zip()函数

zip()函数是一个内置函数,用于将多个可迭代对象(如列表、元组等)的对应元素打包成一个个元组,返回一个迭代器。它将输入的可迭代对象按照索引位置一一对应地组合在一起,直到最短的可迭代对象耗尽。

示例代码:

numbers = [1, 2, 3]
letters = ['a', 'b', 'c']
zipped = zip(numbers, letters)
print(list(zipped))  # 输出:[(1, 'a'), (2, 'b'), (3, 'c')]

在上述代码中,zip(numbers, letters)将 numbers 和 letters 两个可迭代对象按照索引位置一一对应地组合在一起,返回一个迭代器。通过将迭代器转换为列表,我们可以查看打包后的结果。

二、zip(*)语法

zip(*iterables) 是 zip() 函数的一个特殊用法。zip(*)是一种解压缩操作,用于将已打包的可迭代对象进行解压缩,返回原始的多个可迭代对象。

示例代码:

zipped = [(1, 'a'), (2, 'b'), (3, 'c')]
numbers, letters = zip(*zipped)
print(numbers)  # 输出:(1, 2, 3)
print(letters)  # 输出:('a', 'b', 'c')

在上述代码中,zip(*zipped)将已打包的可迭代对象 zipped 进行解压缩,返回原始的多个可迭代对象 numbers 和 letters。通过打印这两个可迭代对象,我们可以看到它们被成功解压缩为独立的元组。

总结:

  • zip()函数用于将多个可迭代对象打包成元组,返回一个迭代器。
  • zip(*)语法用于将已打包的可迭代对象进行解压缩,返回原始的多个可迭代对象。

你可能感兴趣的:(python,python,前端,linux)