我正在尝试合并两个列表,如此
coordinates_X = [1, 17, 9]
coordinates_Y = [3, 5, 24]
outcome = [1, 3, 17, 5, 9, 24]
答案 0 :(得分:3)
列表的长度是否一致?如果是这样,这将为您提供元组列表:
outcome = zip(coordinates_X, coordinates_Y)
然后你可以压扁:
import itertools
outcome = list(itertools.chain.from_iterable(zip(coordinates_X, coordinates_Y)))
对于2.x,itertools
也有izip
可用,它构建了一个可迭代的元组。但这对于这么小的名单来说是不必要的。在3.x上,zip
总是返回一个可迭代的。
如果长度不同,zip
或itertools.izip
将截断结果以匹配较短的列表。如果您需要,itertools.izip_longest
可以使用在调用中指定的填充值扩展更短的列表。
答案 1 :(得分:2)
没有itertools
的替补:
result = []
for i in zip(coordinates_X,coordinates_Y):
result.extend(i)
答案 2 :(得分:1)
如果不需要订购,您可以:
coordinates_X + coordinates_Y
此外,您可以使用列表推导来准确输出您的
[ x for y in map(lambda x, y: [x, y], coordinates_X, coordinates_Y) for x in y ]
可能不是最好的方法,但这是我发生的事情:)。
答案 3 :(得分:1)
**您可以使用的代码是:**
coordinates_X = [1, 17, 9]
coordinates_Y = [3, 5, 24]
outcome =coordinates_X+coordinates_Y