Ответ 1
Расширить - это метод списка, который изменяет его, но не возвращает self
(вместо этого возвращает None
). Если вам нужно изменить значение в качестве значения выражения, используйте +
, как в [2]+[]
.
Почему python 2.5.2 имеет следующее поведение
>>>[2].extend([]) == [2]
False
>>> [2].extend([]) == None
True
$ python --version
Python 2.5.2
Я предполагаю, что я здесь ничего не понимаю, но интуитивно я думаю, что [2].extend([]) должен дать [2]
Расширить - это метод списка, который изменяет его, но не возвращает self
(вместо этого возвращает None
). Если вам нужно изменить значение в качестве значения выражения, используйте +
, как в [2]+[]
.
Совершенно верно.
>>> x = [2]
>>> x.extend([]) # Nothing is printed because the return value is None
>>> x == [2]
True
>>> x
[2]
Они делают это специально, чтобы вы помнили, что функция расширения фактически модифицирует список на месте. То же самое с sort(). Он всегда возвращает None.