Я думаю, вы запутались между порядком if-else
.
a = [1,2,3,4,5,6,7,8]
Если вы хотите просто квадрат каждого числа
b = [i**2 for i in a]
# [1,4,9,16,25,36,49,64]
Если вы хотите четные числа (if
оператор в list-comprehension
)
c = [i for i in a if i%2==0]
# [2,4,6,8]
Если вы хотите заключить в квадрат только четные числа (if-else
выражение ternary operator
)
c = [i**2 if i%2==0 else i for i in a]
# [1,4,3,16,5,36,7,64]