如何使用Python函数zip()将两个列表组合?
Python中的zip()函数是一种非常有用的函数,它可以让我们将两个或多个列表组合成一个新的列表。zip()函数将两个或多个列表按照索引位置一一对应的方式进行组合,类似于拉链一样将它们缩在一起。在本文中,我们将介绍如何使用Python函数zip()将两个列表组合。
示例:
假设我们有两个列表a和b,其中a表示学生的名字,b表示学生的年龄,我们希望将它们组合成一个新的列表c,其中c的元素为一个元组,每个元组由学生的名字和年龄组成,我们可以使用zip()函数来实现这个功能。
代码如下:
a = ['张三', '李四', '王五'] b = [18, 20, 22] c = zip(a, b) print(list(c))
输出结果为:
[('张三', 18), ('李四', 20), ('王五', 22)]
在上面的代码中,我们首先定义了两个列表a和b,分别表示学生的名字和年龄。然后我们使用zip()函数将这两个列表组合成一个新的列表c,并用list()函数将其转换为列表进行打印输出。
另外,我们还可以通过循环遍历的方式来访问新的列表c中的元素,代码如下:
a = ['张三', '李四', '王五']
b = [18, 20, 22]
c = zip(a, b)
for name, age in c:
print(name, age)
输出结果为:
张三 18 李四 20 王五 22
在上面的代码中,我们使用for循环遍历新的列表c中的元素,并将结果打印输出。其中name表示学生的名字,age表示学生的年龄。
需要注意的是,在 次遍历完新的列表c之后,c已经被zip()函数清空,无法再次访问了。
最后,我们还可以使用 * 运算符来解压缩元组,如下所示:
a = ['张三', '李四', '王五'] b = [18, 20, 22] c = zip(a, b) names, ages = zip(*c) print(names) print(ages)
输出结果为:
('张三', '李四', '王五')
(18, 20, 22)
在上面的代码中,我们使用 * 运算符解压缩了元组,并将学生的名字和年龄分别存储在names和ages两个变量中。需要注意的是,使用 * 运算符解压缩元组时,元组中的元素个数必须与要存储的变量个数相同,否则会报错。
总结:
在本文中,我们介绍了如何使用Python函数zip()将两个列表组合成一个新的列表。具体来说,我们可以将两个列表传递给zip()函数,然后使用循环遍历或者 * 运算符解压缩元组来访问新的列表中的元素。需要注意的是,使用zip()函数组合两个列表时,两个列表的元素个数必须相同,否则会忽略多余的元素。
