欢迎访问宙启技术站
智能推送

Python函数:使用zip()将两个列表合并为一个

发布时间:2023-06-24 15:54:42

在Python中,使用zip函数可以将两个列表合并成一个。zip函数可以将两个列表的元素一一对应,返回一个迭代器,可以通过list函数转化为列表。zip函数可以同时合并多个序列。

例如,我们有两个列表,一个是姓名列表,一个是年龄列表:

names = ['Tom', 'Jerry', 'Mickey']
ages = [22, 25, 18]

我们可以使用zip()函数将它们合并为一个列表:

result = list(zip(names, ages))
print(result)

输出结果为:

[('Tom', 22), ('Jerry', 25), ('Mickey', 18)]

可以看到,zip函数返回了一个包含元组的列表,每个元组包含了两个列表中相同位置的元素。

如果两个列表的长度不一致,那么zip函数会以短的列表为准,多余的元素会被忽略掉。例如:

names = ['Tom', 'Jerry', 'Mickey']
ages = [22, 25, 18, 30]

result = list(zip(names, ages))
print(result)

输出结果为:

[('Tom', 22), ('Jerry', 25), ('Mickey', 18)]

因为年龄列表中包含了一个多余的元素,所以被忽略了。

除了合并两个列表,zip函数还可以合并多个序列。例如:

names = ['Tom', 'Jerry', 'Mickey']
ages = [22, 25, 18]
genders = ['male', 'male', 'female']

result = list(zip(names, ages, genders))
print(result)

输出结果为:

[('Tom', 22, 'male'), ('Jerry', 25, 'male'), ('Mickey', 18, 'female')]

这个例子中,我们使用了三个列表,分别是姓名、年龄和性别,通过zip函数将它们合并为一个包含三个元素的元组。

需要注意的是,zip函数返回的是一个迭代器,如果需要转化为列表,需要显式地使用list函数转化。

总结一下,使用zip函数可以将两个列表合并成一个,同时也可以合并多个序列。需要注意的是,zip函数返回的是一个迭代器,如果需要转化为列表,需要使用list函数转化。如果两个序列的长度不一致,多余的元素会被忽略。