Pythonを使用して2つの順序付きリストをマージおよびソート

616 ワード

全体的な考え方は、最初の数字を比較し、比較した後、小さいものを空のリストに追加し、リストの中のこの数字を削除し、そのうちの1つのリストが空になったとき、別のリストをlist 3にマージすることです.
def get_ret(list1, list2):
    list3 = []
    while len(list1) > 0 and len(list2) > 0:
        if list1[0] < list2[0]:
            list3.append(list1[0])
            del list1[0]
        else:
            list3.append(list2[0])
            del list2[0]
    list3.extend(list1)
    list3.extend(list2)
    return list3


ret = get_ret([1, 2, 3], [3, 4, 5])
print(ret)

複雑な方法に加えて、pythonの内蔵関数を使用すると、以下のように簡単な方法があります.
list3 = list1 + list2
list3 = list3.sort()