Traceback (most recent call last):
File "
", line 1, in
q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65}
File "", line 1, in
q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65}
NameError: name 'mean' is not defined
Эта ошибка возникает только тогда, когда я пытаюсь использовать переменную, при ее определении проблем нет:
Я хотел избежать двойного вычисления среднего значения при понимании словаря и попробовал использовать оператор моржа: [code]>>> dic = {"A": [45,58,75], "B": [55,82,80,92], "C": [78,95,90], "D":[98,75]} >>> q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65} [/code] но это дало мне следующую ошибку: [code]Traceback (most recent call last): File " ", line 1, in q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65} File "", line 1, in q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65} NameError: name 'mean' is not defined [/code] Эта ошибка возникает только тогда, когда я пытаюсь использовать переменную, при ее определении проблем нет: [code]>>> q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if (sum(dic[x]) // len(dic[x])) > 65} >>> mean 86 >>> q {'B': 77, 'C': 87, 'D': 86} [/code] Почему? Где я ошибся?