python多個列表合并函數(shù)zip
zip是一個內(nèi)置函數(shù),用于將兩個或多個列表或迭代器中的元素配對。每對元素將作為一個元組打包,并提供一個新的迭代器。
示例:假設(shè)有兩個列表,一個是學(xué)生名字列表,另一個是這些學(xué)生的年齡列表,我們希望將它們配對為一個元組列表:
students = ['Alice', 'Bob', 'Charlie']
ages = [18, 21, 19]
students_ages = zip(students, ages)
print(list(students_ages)) #輸出[('Alice', 18), ('Bob', 21), ('Charlie', 19)]
這里,我們使用`zip`函數(shù)將`students`和`ages`列表配對,并將結(jié)果提供給一個名為`students_ages`的變量。最后,在打印結(jié)果時我們使用了`list`函數(shù)將配對結(jié)果轉(zhuǎn)換為一個元組列表。
需要注意以下幾點:
- zip函數(shù)返回的是一個迭代器,而不是一個具體的列表。
- 如果所提供列表的長度不同,則`zip`函數(shù)將按照最短列表的長度進行配對。
- 可以使用`*`運算符來反向解包元組列表,如下所示:
students = ['Alice', 'Bob', 'Charlie']
ages = [18, 21, 19]
students_ages = zip(students, ages)
new_students, new_ages = zip(*students_ages)
print(new_students) #輸出('Alice', 'Bob', 'Charlie')
print(new_ages) #輸出(18, 21, 19)
在此示例中,我們首先使用`zip`函數(shù)將`students`和`ages`配對,然后使用`*`運算符解包元組列表并將它們放入新的變量`new_students`和`new_ages`中。