【发布时间】:2013-11-21 22:12:00
【问题描述】:
我希望能够交错两个长度可能不相等的列表。我所拥有的是:
def interleave(xs,ys):
a=xs
b=ys
c=a+b
c[::2]=a
c[1::2]=b
return c
这适用于长度相等或仅 +/-1 的列表。但是,如果假设 xs=[1,2,3] 和 ys= ["hi,"bye","no","yes","why"] 会出现以下消息:
c[::2]=a
ValueError: attempt to assign sequence of size 3 to extended slice of size 4
如何使用索引解决此问题?还是我必须使用 for 循环? 编辑:我想要的是让额外的值出现在最后。
【问题讨论】:
-
你想要发生什么?输出应该是什么?
-
@DavidRobinson 我想做的是让额外的值出现在末尾。
-
那么
[1, "hi, 2, "bye", 3, "no","yes","why"]? -
@DavidRobinson 是的
-
这是一个测验问题吗?
标签: python list for-loop indexing