Я работал через проблему, чтобы отсортировать элементы в порядке убывания через рекурсивный подход, код выглядит следующим образом ..Рекурсивные сортировки Выбора возвращают список нисходящего в питоне
import operator
def do_stuff(elem_list):
if not elem_list:
return None
max_index , max_element = max(enumerate(elem_list) , key = operator.itemgetter(1))
elem_list[max_index],elem_list[0] = elem_list[0],elem_list[max_index]
return do_stuff(elem_list[1:])
p_list = [4,2,3,5,1]
do_stuff(p_list)
print(p_list)
Выход -
[5, 2, 3, 4, 1]
И я не могу изобразить, в чем заключается проблема и почему я не получу желаемый результат?
'elem_list [1:]' является полностью отдельный список из 'elem_list'. – user2357112
Это всего лишь фрагмент elem_list. После этой функции, после распечатки списка, если она не даст мне правильный материал? – Steve
Попробуйте fiddling с 'l1 = [1, 2, 3]; l2 = l1 [1:] 'в интерактивном режиме и посмотреть, с каким эффектом меняется один список с другой. – user2357112