删除字典中所有值为 0 的键

Ali*_*o93 1 python dictionary

我有一个 Python 字典,我想删除所有值为 0 的键。这是一个很大的字典,所以我不能在这里复制它,但可以说这是我的字典:

grades = {mark: 0, Andrew: 0.01, Alex: 0, Sam: 0, Eric: 0.02}
Run Code Online (Sandbox Code Playgroud)

结果应如下所示:

grades = {Andrew: 0.01, Eric: 0.02}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

ted*_*ted 6

使用字典理解:

grades = {mark: 0, Andrew: 0.01, Alex: 0, Sam: 0, Eric: 0.02}
non_zeros = {k: v for k, v in grades.items() if v != 0}
Run Code Online (Sandbox Code Playgroud)

filter

non_zeros = dict(filter(lambda kv: kv[1] != 0, grades.items()))
Run Code Online (Sandbox Code Playgroud)

或者 del

for k, v in grades.copy().items():
    if v == 0:
        del grades[k]
Run Code Online (Sandbox Code Playgroud)