在本教程中,我們將借助示例了解 Python zip() 函數。
zip()
函數采用可迭代對象(可以是零個或多個),將它們聚合到一個元組中,然後返回它。
示例
languages = ['Java', 'Python', 'JavaScript']
versions = [14, 3, 6]
result = zip(languages, versions)
print(list(result))
# Output: [('Java', 14), ('Python', 3), ('JavaScript', 6)]
用法:
用法:
zip(*iterables)
參數:
範圍 | 說明 |
---|---|
iterables |
可以是內置的可迭代對象(例如:列表、字符串、字典)或用戶定義的可迭代對象 |
返回:
zip()
函數返回基於可迭代對象的元組迭代器。
- 如果我們不傳遞任何參數,
zip()
返回一個空的迭代器 - 如果傳遞了一個可迭代對象,
zip()
返回一個元組迭代器,每個元組隻有一個元素。 - 如果傳遞了多個迭代,
zip()
返回一個元組的迭代器,每個元組都有來自所有可迭代對象的元素。
假設,兩個迭代被傳遞給zip()
;一個包含三個元素的迭代,另一個包含五個元素。然後,返回的迭代器將包含三個元組。這是因為迭代器在最短的迭代用完時停止。
示例 1:Python zip()
number_list = [1, 2, 3]
str_list = ['one', 'two', 'three']
# 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, str_list)
# Converting iterator to set
result_set = set(result)
print(result_set)
輸出
[] {(2, 'two'), (3, 'three'), (1, 'one')}
示例 2:不同數量的可迭代元素
numbersList = [1, 2, 3]
str_list = ['one', 'two']
numbers_tuple = ('ONE', 'TWO', 'THREE', 'FOUR')
# Notice, the size of numbersList and numbers_tuple is different
result = zip(numbersList, numbers_tuple)
# Converting to set
result_set = set(result)
print(result_set)
result = zip(numbersList, str_list, numbers_tuple)
# Converting to set
result_set = set(result)
print(result_set)
輸出
{(2, 'TWO'), (3, 'THREE'), (1, 'ONE')} {(2, 'two', 'TWO'), (1, 'one', 'ONE')}
*運算符可以與zip()
解壓縮列表。
zip(*zippedList)
示例 3:使用 zip() 解壓縮值
coordinate = ['x', 'y', 'z']
value = [3, 4, 5]
result = zip(coordinate, value)
result_list = list(result)
print(result_list)
c, v = zip(*result_list)
print('c =', c)
print('v =', v)
輸出
[('x', 3), ('y', 4), ('z', 5)] c = ('x', 'y', 'z') v = (3, 4, 5)
相關用法
- Python zip()用法及代碼示例
- Python string zfill()用法及代碼示例
- Python zlib.compress(s)用法及代碼示例
- Python zlib.decompress(s)用法及代碼示例
- Python zlib.adler32()用法及代碼示例
- Python numpy matrix zeros()用法及代碼示例
- Python zlib.crc32()用法及代碼示例
- Python torch.distributed.rpc.rpc_async用法及代碼示例
- Python torch.nn.InstanceNorm3d用法及代碼示例
- Python pandas.arrays.IntervalArray.is_empty用法及代碼示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代碼示例
- Python numpy.less()用法及代碼示例
- Python tf.compat.v1.distribute.MirroredStrategy.experimental_distribute_dataset用法及代碼示例
- Python Sympy Permutation.list()用法及代碼示例
- Python scipy.ndimage.binary_opening用法及代碼示例
- Python pyspark.pandas.Series.dropna用法及代碼示例
- Python torchaudio.transforms.Fade用法及代碼示例
- Python pyspark.pandas.groupby.SeriesGroupBy.unique用法及代碼示例
- Python numpy.polynomial.hermite.hermmul用法及代碼示例
- Python tf.compat.v1.data.TFRecordDataset.interleave用法及代碼示例
注:本文由純淨天空篩選整理自 Python zip()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。