Как объединить два отсортированных списка в один отсортированный список - PullRequest
0 голосов
/ 01 апреля 2020

Мне нужно сделать задачу python, которая объединит два отсортированных списка в один отсортированный список. Я пытаюсь использовать приведенный ниже код, но я получаю: синтаксическая ошибка . Может кто-то может объяснить, где ошибка?


l1 = [1, 3, 4, 7]
l2 = [0, 2, 5, 6, 8, 9]

def merge_sorted_lists(l1, l2):
    """Merge sort two sorted lists

    Arguments:
    - `l1`: First sorted list
    - `l2`: Second sorted list
    """
    sorted_list = []

    # Copy both the args to make sure the original lists are not
    # modified
    l1 = l1[:]
    l2 = l2[:]

    while (l1 and l2):
        if (l1[0] <= l2[0]): # Compare both heads
            item = l1.pop(0) # Pop from the head
            sorted_list.append(item)
        else:
            item = l2.pop(0)
            sorted_list.append(item)

    # Add the remaining of the lists
    sorted_list.extend(l1 if l1 else l2)

    return sorted_list

if __== '__main__':
  print merge_sorted_lists(l1, l2)

справка

1 Ответ

0 голосов
/ 01 апреля 2020

Используйте этот код для отсортированного списка

l1 = [1, 3, 4, 7]
l2 = [0, 2, 5, 6, 8, 9]


def combine(l1, l2):
    new_list = []
    for i in l1:
        new_list.append(i)
    for j in l2:
        new_list.append(j)
    return sorted(new_list)

print(combine(l1,l2))
...