小编FAL*_*FAL的帖子

字典理解中的海象运算符

我想避免在字典理解中对平均值进行双重评估,并且我尝试使用海象运算符:

>>> 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}
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65}
  File "<pyshell#2>", line 1, in <dictcomp>
    q = {x: (mean := (sum(dic[x]) // len(dic[x]))) for x in dic if mean > 65}
  NameError: name …
Run Code Online (Sandbox Code Playgroud)

python dictionary-comprehension python-3.9 walrus-operator

14
推荐指数
1
解决办法
3653
查看次数