【发布时间】:2013-08-05 04:43:12
【问题描述】:
给定两个列表,我想合并它们,以便第一个列表中的所有元素都是偶数索引(保留它们的顺序),而第二个列表中的所有元素都是奇数索引(也保留它们的顺序)。示例如下:
x = [0,1,2]
y = [3,4]
result = [0,3,1,4,2]
我可以使用 for 循环来做到这一点。但我想可能有一种花哨的pythonic方式来做到这一点(使用一个鲜为人知的函数或类似的东西)。有没有比写for循环更好的解决方案?
编辑:我正在考虑列表推导,但到目前为止没有提出任何解决方案。
【问题讨论】:
-
你想为
x=[0,1,2,3,4,5,6]但y=[20,21]做什么,或者相反? (即,如果一个列表比另一个更长或更短怎么办?) -
假设更简单的情况:len(x) == len(y) OR len(x) == len(y) + 1,所以不用担心。这将是游戏的一系列动作。
-
在这种情况下,请使用
roundrobin或简化版本。 -
@nio 你为什么删除你的答案?到目前为止我最喜欢它(最短和最简单的)
-
@torek,如果列表更长或更短,则以下答案中建议的方法有效...