Расширить список А, добавив в конце элементы списка в квадрате

Есть произвольный список,содержащий произвольные значения типа int, float

a = [1, 4, 34.5]
new = []
for i in a:
    new.append(i ** 2)
a.extend(new)
print(a)

Но может быть есть варианты получше?


Ответы (1 шт):

Автор решения: CrazyElf

Лучше только если использовать списковое сокращение, которое написать прямо аргументом a.extend([...]), тогда у вас всё решение в одну строчку поместится (не считая строки инициализации и строки вывода на печать). Я в общем-то на этот вариант намекал в своём комментарии.

Но так то можно и прямо в исходный список делать append новых элементов в цикле, это тоже очевидный вариант (только там возможна проблема с тем, что вы итерируетесь по списку, который меняете, но это решается взятием копии списка для итерирования).

→ Ссылка