我有一个函数,可以将两个排序列表(a,b)合并为一个排序列表(c)。如果给定的列表具有不同的长度,我需要将最长的其余部分插入到列表 c 中。但我这样做的方式 - 它给出了列表 c 内带括号的结果(例如,如果 a = [1,3,5] 且 b = [2,4,6] 则函数返回 [1,2,3 ,4,5,[6]]。我怎样才能去掉这些括号?
这是我的代码
def merge(a,b):
c = []
i = j = 0
while i < len(a) and j < len(b):
if a[i] < b[j]:
c.append(a[i])
i = i + 1
elif b[j] < a[i]:
c.append(b[j])
j = j + 1
elif a[i] == b[j]:
c.append(a[i])
c.append(b[j])
i = i + 1
j = j + 1
if i < len(a):
c.append(a[i:])
if j < len(b):
c.append(b[j:])
return c
最佳答案
您必须像这样单独添加每个值:
if i < len(a):
for k in a[i:]:
c.append(k)
关于python - 如何获得列表中没有括号的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39521715/