如何将两个列表合并为一个列表?

42 投票
9 回答
55949 浏览
提问于 2025-04-16 02:43

我有

a = [1, 2]
b = ['a', 'b']

我想要

c = [1, 'a', 2, 'b']

9 个回答

24

解析

[item for pair in zip(a, b) for item in pair]

在你脑海中理解这个过程其实很简单,只要记住 forif 这些部分是按照顺序执行的,最后会把结果添加到一起:

temp = []
for pair in zip(a, b):
    for item in pair :
        temp.append(item )
30

如果你希望元素的顺序和你示例中的顺序一致,那么你可以使用 zipchain 这两个工具的组合:

from itertools import chain
c = list(chain(*zip(a,b)))

如果你对结果中元素的顺序没有特别要求,那么有一个更简单的方法:

c = a + b
76

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后把它放到另一个地方。这就像是把书从一个书架搬到另一个书架一样。

在这个过程中,我们可能会遇到一些问题,比如数据格式不对,或者数据不完整。这就像是你在搬书的时候,发现有些书是破的,或者有些书根本就不在书架上。

为了避免这些问题,我们可以使用一些工具和方法来检查和处理数据。这样可以确保我们搬的书都是好的,且都在我们需要的地方。

总之,处理数据就像搬书一样,需要小心翼翼,确保每一本书都能安全到达目的地。

[j for i in zip(a,b) for j in i]

撰写回答