看来您的代码是要说的
answer = [],而将其遗漏会导致问题。但是您遇到的主要问题是:
answer = answer.extend(temp)
extend
修改
answer_并返回无。将此保留为正义
answer.extend(temp),它将起作用。您可能还想使用该
append方法,而不是
extend-append将
_一个对象 (列表
temp)放在末尾
answer,而
extend将temp的 每个项目 分别追加,最终给出您所要获得的拼合版本:
[1,'a', 'x', 2, 'b', 'y', 3, 'c', 'z']。
但是,与其重新发明轮子,不如说这正是内置
zip函数的目的:
>>> A = [1,2,3]>>> B = ['a', 'b', 'c']>>> C = ['x', 'y', 'z']>>> list(zip(A, B, C))[(1, 'a', 'x'), (2, 'b', 'y'), (3, 'c', 'z')]
注意,在Python 2中,
zip返回一个元组列表。在Python
3中,它返回一个懒惰的迭代器(即,它根据请求创建元组,而不是预先计算它们)。如果您想要Python 3中的Python
2行为,请
list按照上面的步骤进行传递。如果要使用Python 2中的Python
3行为,请使用
izipitertools中的函数。



