从字典中删除条目(Python)

pri*_*ath 4 dictionary python-3.x

好的,所以我必须摆脱所有具有负值的条目.我不知道为什么我的代码不起作用.

def main():
dic = {'aa': 20, 'bb': -10, 'cc': -12}
for i in dic:
    if dic[i]<0:
        del dic[i]

print(dic)

main() 
Run Code Online (Sandbox Code Playgroud)

Ste*_*ima 5

你可以通过使用dict理解来实现这一点.

dic = {k: v for (k, v) in dic.items() if v >= 0}
Run Code Online (Sandbox Code Playgroud)

  • +1 但应该是 `dic.items()` 而不是 `dic.values()`。另外,“for (k, v) ...”中的“k”和“v”不需要括号。 (2认同)