Для следующего оператора if в этом понимании списка, создающего строку «sha me», когда person == 'sha', выдается ошибка. Кажется, что для понимания списков манипуляции может включать только часть else оператора if. Я могу переписать оператор цикла for/if и манипулировать, когда person == 'sha', но мне неясно, почему это не принимается при понимании списка?
Код: Выделить всё
people = ['sha','john','erin']
newlist = [person if person == 'sha' person + ' me' else person + ' Lastname' for person in people]
print(newlist)
выдает:
SyntaxError: ожидается «else» после выражения «if»
Подробнее здесь:
https://stackoverflow.com/questions/792 ... prehension