Понимание списка Python - просто

У меня есть список, и я хочу использовать определенную функцию только для тех его записей, которые удовлетворяют определенному условию - оставив другие записи без изменений.

Пример: скажем, я хочу умножить на 2 только те элементы, которые четны.

a_list = [1, 2, 3, 4, 5]

Требуемый результат:

a_list => [1, 4, 3, 8, 5]

Но [elem * 2 для elem в a_list, если elem% 2 == 0] дает [4, 8] (он действовал как фильтр Кроме того).

Как правильно это сделать?

7
задан Fred Foo 1 October 2011 в 11:17
поделиться