Вот фрагмент упрощенного кода для проблемы, над которой я работаю. Я не мог понять, что не так с синтаксисом для понимания списка здесь. Кто-нибудь может помочь?
for i in range(10):
a = [j if j == i for j in range(100)]
File "<ipython-input-19-4bf2e143eb37>", line 2
a = [j if j == i for j in range(100)]
^
SyntaxError: invalid syntax
РЕДАКТИРОВАТЬ: Очевидно, мой синтаксис перевернут в вышеприведенном примере, так как оператор 'if' должен go после оператора 'for'. Тем не менее, я также осознаю причудливую вещь, заключающуюся в том, что если в операторе 'if' также содержится оператор 'else', то он может go перед оператором 'for', как в примере ниже. Не уверен, что за этим стоит логика c.
l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
[x+1 if x >= 45 else x+5 for x in l]
Есть мысли по этому поводу?