Я хочу отсортировать один список, поскольку я создаю его из 2 отсортированного списка рекурсивно. Это то, что я написал до сих пор:python recursively merge 2 list в отсортированном виде
def list_creation (list_one,list_two):
if list_one == [] and list_two == []:
return []
else:
if list_one != [] and list_two != []:
if list_one[0] <= list_two[0]:
return [list_one[0],list_two[0]] + list_creation(list_one[1:],list_two[1:])
else:
return [list_two[0],list_one[0]] + list_creation(list_one[1:],list_two[1:])
print(list_creation([10,11,12,13],[14,15,16,17]))
print(list_creation([3,6,9,12],[4,8,12,16]))
Это работает для второго оператора печати, но не для первого. Какие-либо предложения?
Где эта функция 'merge' определена? – skyline75489
Вы не можете предположить, что вы можете взять из обоих списков каждую итерацию. Вам нужно обработать случай, когда второй элемент в 'list_one' меньше, чем первый элемент в' list_two'. Способ сделать это - взять один элемент за раз, из списка с меньшей головой. – univerio
Извините, что merge был опечаткой. – Cleanshot