【发布时间】:2021-12-15 13:16:51
【问题描述】:
规则:如果一个列表比另一个短,则较短列表的最后一个元素应尽可能多地重复。如果一个或两个列表为空,则应返回空列表。
合并([0, 1, 2], [5, 6, 7])
应该返回 [(0, 5), (1, 6), (2, 7)]
合并([2, 1, 0], [5, 6])
应该返回 [(2, 5), (1, 6), (0, 6)]
合并([ ], [2, 3])
应该返回 []
这是我到目前为止写的内容
def merge(a, b):
mergelist = []
for pair in zip(a, b):
for item in pair :
mergelist.append(item )
return mergelist
打印(合并([0, 1, 2], [5, 6]))
【问题讨论】:
-
使用内置函数zip
-
你只是在
list(zip(a, b))之后吗? -
zip已经在他的代码中。而且预期的结果有点奇怪 -
那么,您希望输出具有第一个列表的长度,如果第二个列表的最后一项更短,那么它会重复?如果它是空的怎么办?或者是别的什么?请澄清规则。
-
如果一个列表比另一个短,则较短列表的最后一个元素应根据需要重复。如果一个或两个列表为空,则应返回空列表。