Brakuje Ci nawiasów. Kwadratowych dla list comprehension. Okrągłych dla generatora. W obu przypadkach zwracasz listę/generator, a nie pojedynczy indeks. Dodatkowo if musi wystąpić za instrukcją for. Tak wygląda całość bez syntax errorów:
def find_even_index(arr):
return [i for i in range(len(arr)) if sum(arr[:i]) == sum(arr[i+1:])]
A w ten sposób wyciągniesz pierwszy element, o ile taki istnieje, w przeciwnym wypadku None
def find_even_index(arr):
return next((i for i in range(len(arr)) if sum(arr[:i]) == sum(arr[i + 1 :])), None)