Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我试图写一个程序,将交错一个列表,其中包含一对列表?_Python_Python 2.7 - Fatal编程技术网

Python 我试图写一个程序,将交错一个列表,其中包含一对列表?

Python 我试图写一个程序,将交错一个列表,其中包含一对列表?,python,python-2.7,Python,Python 2.7,我试图写一个程序,将交错一个列表,其中包含一对列表 def interleave(lst): if lst==[]: return [] return lst.insert(lst[1][0],lst[0][1])+interleave(lst[1][1:]) 仔细想想——最后一行应该是: return [lst[0][0],lst[1][0]] + interleave([[lst[0][1:],lst[1][1:]]) 不清楚输入是什么,但我想你的意思是输

我试图写一个程序,将交错一个列表,其中包含一对列表

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

仔细想想——最后一行应该是:

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

不清楚输入是什么,但我想你的意思是输入类似于 [[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]的顺序
如果你想要相反的顺序。

天哪,这一定是一个家庭作业。让我给你拿份副本。@Martijn很惊讶在这两种方法中都没有
循环
itertools配方…@JonClements:不,我回答这些问题时没有想到
循环
itertools配方。输入:>>>交错([[1,2,3],[4,5,6]))[1,4,2,5,3,6]我必须递归地编写它