Слияние двух отсортированных списков. Делайте всю работу внутри цикла while. Не используйте удлинитель.
Я могу объединить два отсортированных списка, но я не делаю всю работу внутри цикла while.
L1 = [ 9, 12, 17, 25 ]
L2 = [ 3, 5, 11, 13, 16 ]
i1 = 0 # index of value in L1 that has not yet been copied.
i2 = 0 # index of value in L2 that has not yet been copied.
L = []
while i1 < len(L1) and i2 < len(L2):
if L1[i1] < L2[i2]:
L.append(L1[i1])
i1 += 1
else:
L.append(L2[i2])
i2 += 1
if i1 == len(L1):
for val in L2[i2:]:
L.append(val)
else:
for val in L1[i1:]:
L.append(val)
print(L)
Ожидаемый результат:
[3, 5, 9, 11, 12, 13, 16, 17, 25]