Top.Mail.Ru
Ответы

Как вернуть аргумент в функции python

1234567891011121314151617181920
 import random 
 
def sort(list): 
    if list == 0: 
        return None, None 
    sorted = False 
    prev_list = list 
    while not sorted: 
        sorted = True 
        for j in range(1, len(list)): 
            if list[j - 1] > list[j]: 
                list[j - 1], list[j] = (list[j], list[j - 1]) 
                sorted = False 
    return (prev_list, list) 
 
n = int(input("Введите размер массива: ")) 
a = [random.randrange(5, 16) for i in range(n)] 
print(a) 
print(sort(a)) 
 

Код для сортировки списка, но список сам вернуть не могу (надо для удобства его возвращать), как это сделать?

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
5мес
1
 prev_list = list[:] 
Аватар пользователя
Высший разум
5мес

Заменить

1
 return (prev_list, list) 

на

1
 return list 

И, похоже, ты не понимаешь, как работают присваивание и передача параметров в Python. Твоё prev_list = list не имеет смысла, т.к. это НЕ создание копии, а присваивание ссылки на ТОТ ЖЕ самый список.

Аватар пользователя
Мастер
5мес

n_prev_list, n_list = sort(a)
print(n_prev_list)
print(n_list)