Как добавить целое число в список в течение l oop? понимать понимание списка - PullRequest
0 голосов
/ 30 марта 2020
some_list = [1,2,3,4]
for x in some_list:
    new_list.append(x * 2)

Создает следующую ошибку:

AttributeError: у объекта 'int' нет атрибута 'append'

Я хочу вывод:

[2, 4, 6, 8]

Я прошу это понять понимание списка:

new_list = [x*2 for x in some_list] 

1 Ответ

1 голос
/ 30 марта 2020

Вам нужно создать пустой список, прежде чем вы сможете добавить к нему for l oop.

some_list = [1,2,3,4]

new_list = []
for x in some_list:
    new_list.append(x * 2)

new_list_2 = [x*2 for x in some_list] 

. После всего вышеперечисленного, new_list и new_list_2 содержат [2, 4, 6, 8]

for l oop и понимание списка функционально эквивалентны.

Принципиальное отличие, которое вызвало вашу ошибку, заключается в том, что for l oop требует, чтобы вы определили список, прежде чем вы сможете добавить его. Компоненты списка автоматически генерируют для вас объект списка.

...