Ваш код действительно работает по назначению; он полностью отменяет список. Причина, по которой он печатает None
, заключается в том, что list.reverse
- это метод на месте, который всегда возвращает None
.
Из-за этого, вы должны называть reverse
по своей собственной линии:
def func4(x):
x.reverse()
print(x)
e = ['baby','egg','chicken']
func4(e)
Теперь print
напечатает перевернутый список вместо None
возвращенного reverse
.
Обратите внимание, что тот же принцип применяется к list.append
, list.extend
и почти всем другим методам, которые мутируют объекты в Python.
Кроме того, я удалил возвращаемый оператор из конца вашей функции, так как он ничего не полезен. По умолчанию функции Python возвращают None
, поэтому нет причин явно делать это.
это фик его спасибо – clutchcocobean