2012-03-15 3 views
1

Отредактировано для добавления: Drat it! У меня не было последней версии кода. Это была ошибка, и он исправил ее. Пожалуйста, присоединяйтесь ко мне в голосовании, чтобы закрыть.[] .append (foo) idiom

Я смотрю на кого-то код Python-либо, который говорит:

bar = [].append(foo) 

Я считаю, что это слишком сложный способ сказать то же самое:

bar = [foo] 

Я задавался вопросом, был ли он просто не понимая синтаксиса Python, но, как правило, его код на Python кажется достаточно компетентным, а в другом месте в коде он написал:

qux(param=[foo]) 

Итак, это не объясняет.

Я что-то упустил? Является ли это полезной идиомой, о которой я не знаю? (например, он более эффективен, работает в более старых версиях Python и т. д.)

+4

list.append возвращает None, а не список. Я предполагаю, что это ошибка. – liori

+0

В Python 2.7, в любом случае, это не сработает. 'bar = [] .append (foo)' оставляет 'bar' как' None'. – ely

+0

Нет такой ситуации, когда этот код имеет смысл. – agf

ответ

5

Нет, это слишком сложный способ сказать bar = None. Методы списка работают на месте и, следовательно, возвращают None.

Смежные вопросы