看起来你的代码的意思是answer = []
,而忽略它会导致问题。但你面临的主要问题是:
answer = answer.extend(temp)
extend
修改answer
并返回无。将其保留为原样answer.extend(temp)
它会起作用的。您可能还想使用append
方法而不是extend
- 追加看跌期权一个物体(列表temp
) 在......的最后answer
, while extend
追加每一个项目单独的 temp ,最终给出您所追求的扁平版本:[1, 'a', 'x', 2, 'b', 'y', 3, 'c', 'z']
.
但是,这并不是重新发明轮子,而是内置的zip is for:
>>> 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 行为,请使用该函数izip来自 itertools。