假设你有这样的课程
class Foo:
bar = {"hello": 123, "world": 456}
我想定义
Foo.bar
,使得对于 bar
的所有键和值,所有偶数值都替换为 0。
有没有一种干净的方法可以在一行中做到这一点?问题是字典
{"hello": 123, "world": 456}
尚未存储到变量中(我希望 bar
是在处理已经发生的情况下定义的)
所以下面的内容是不可能的,因为
d
不是一个变量,但(对我来说)感觉 d
必须被定义来完成我要求的一个衬里。
class Foo:
bar = {key: (d[key] if not d[key] % 2 else 0) for key in {"hello": 123, "world": 456}}
我的要求是不可能的吗?
bar = {key: (value if not value % 2 else 0) for key, value in {"hello": 123, "world": 456}.items()}
完成工作