python多个列表合并函数zip
zip是一个内置函数,用于将两个或多个列表或迭代器中的元素配对。每对元素将作为一个元组打包,并提供一个新的迭代器。
示例:假设有两个列表,一个是学生名字列表,另一个是这些学生的年龄列表,我们希望将它们配对为一个元组列表:
students = ['Alice', 'Bob', 'Charlie']
ages = [18, 21, 19]
students_ages = zip(students, ages)
print(list(students_ages)) #输出[('Alice', 18), ('Bob', 21), ('Charlie', 19)]
这里,我们使用`zip`函数将`students`和`ages`列表配对,并将结果提供给一个名为`students_ages`的变量。最后,在打印结果时我们使用了`list`函数将配对结果转换为一个元组列表。
需要注意以下几点:
- zip函数返回的是一个迭代器,而不是一个具体的列表。
- 如果所提供列表的长度不同,则`zip`函数将按照最短列表的长度进行配对。
- 可以使用`*`运算符来反向解包元组列表,如下所示:
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`函数将`students`和`ages`配对,然后使用`*`运算符解包元组列表并将它们放入新的变量`new_students`和`new_ages`中。