Python 合并两个列表

Python 合并两个列表,python,list,merge,Python,List,Merge,我正试图像这样合并两个列表 coordinates_X = [1, 17, 9] coordinates_Y = [3, 5, 24] outcome = [1, 3, 17, 5, 9, 24] 如果不需要订购,您可以执行以下操作: coordinates_X + coordinates_Y 此外,您还可以使用列表理解来准确输出您需要的内容 [ x for y in map(lambda x, y: [x, y], coordinates_X, coordinates_Y) for x

我正试图像这样合并两个列表

coordinates_X = [1, 17, 9]
coordinates_Y = [3, 5, 24]

outcome = [1, 3, 17, 5, 9, 24]

如果不需要订购,您可以执行以下操作:

coordinates_X + coordinates_Y
此外,您还可以使用列表理解来准确输出您需要的内容

[ x for y in map(lambda x, y: [x, y], coordinates_X, coordinates_Y) for x in y ]

也许这不是最好的方法,但这正是我想到的:。

列表的长度总是一样的吗?如果是,这将为您提供一个元组列表:

outcome = zip(coordinates_X, coordinates_Y)
然后可以将其展平:

import itertools
outcome = list(itertools.chain.from_iterable(zip(coordinates_X, coordinates_Y)))
对于2.x,itertools还提供了izip,它构建了一个可生成元组的iterable。但这对于这么小的列表是不必要的。在3.x上,zip总是返回一个iterable


如果它们的长度不同,zip或itertools.izip将截断结果以匹配较短的列表。如果需要,itertools.izip_longest可以使用调用中指定的填充值扩展较短的列表。

**您可以使用的代码是:**

  coordinates_X = [1, 17, 9]
    coordinates_Y = [3, 5, 24]

    outcome =coordinates_X+coordinates_Y
不带itertools的备用软件:


关闭,但OP希望它们交错,而不是像建议的副本那样追加。如果结果的顺序需要与上面列出的一样,那么它不是重复的。是的,我需要能够交错!!谢谢,拉链正是我需要的!
result = []
for i in zip(coordinates_X,coordinates_Y):
    result.extend(i)