我正在尝试编写一个程序来交错包含一对列表的列表?

时间:2013-12-07 20:30:14

标签: python python-2.7

我正在尝试编写一个程序来交错包含一对列表的列表?

def interleave(lst):
    if lst==[]:
        return []
    return lst.insert(lst[1][0],lst[0][1])+interleave(lst[1][1:])

2 个答案:

答案 0 :(得分:0)

考虑一下 - 最后一行应该是这样的:

return [lst[0][0],lst[1][0]] + interleave([[lst[0][1:],lst[1][1:]])

答案 1 :(得分:0)

目前还不清楚输入是什么,但我认为你的意思是输入是这样的     [[1,2,3],[4,5,6] 输出     [(4,1),(5,2),(6,3)]

为此:

def interleave(lst):
  return zip(lst[1], lst[0])

如果您想要相反的顺序,可以交换lst[1]lst[0]的顺序。