python - 如何获得列表中没有括号的结果?

标签 python list

我有一个函数,可以将两个排序列表(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/

相关文章:

python - 切片 pandas DataFrame,其中列值存在于另一个数组中

c# - Assert.AreEqual 对于没有增量的 float

python - 每个键有多个值的列表到字典转换?

Python 列表理解 - 需要元素跳过组合

python - 匹配器正在返回一些重复项

python - 计算 GCD - 如何检查列表中的每个元素

python - 通过网络抓取使用帖子从网站获取结果

python - 如何在 PySpark 中将字符串转换为字典的 ArrayType (JSON)

c# 字母数字列表排序通过检查列表项是否包含

python - 修改 Pandas 数据框中的许多列