Можно ли передать базовый объект при вызове подфункции?Python

Программы на Python
Ответить
Anonymous
 Можно ли передать базовый объект при вызове подфункции?

Сообщение Anonymous »

У меня возникла ошибка в следующем коде, и я выяснил причину:

Код: Выделить всё

myset = set(["A", "C", "B"])

# Original Code: Fails  output: None
print(list(myset).sort())
list.sort() — это сортировка на месте без возвращаемого значения, при этом результат вызова sort() передается на печать; вот почему этот код не работает.
Чтобы это исправить, я могу использовать функцию сортировки или написать свою собственную:

Код: Выделить всё

# Method 1: Works out: ['A', 'B', 'C']
print(sorted(myset))

# Method 2: Works out: ['A', 'B', 'C']
def mysetsort(s):
l = list(s)
l.sort()
return l

print(mysetsort(s))
Есть ли какой-нибудь способ сделать это в соответствии с исходной встроенной реализацией с ошибками, т. е. использовать sort() для временного списка из приведения, но передать/вернуть временный (отсортированный) объект?

Подробнее здесь: https://stackoverflow.com/questions/799 ... b-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»