删除di中的多个密钥

2024-04-19 23:23:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下简单的python代码:

# Dictionary of strings and int
wordFreqDic = {
    "Hanna": "blonde",
    "Brad" : "brown" ,
    "Peter" : "blonde",
    "Jason" : "brown"
    }

#If key exist in dictionary then delete it using del.

def answer():
    for i in wordFreqDic:
        if wordFreqDic[i]=="blonde":
            print("ok")
        else:
            del wordFreqDic[i]
    return wordFreqDic

我想删除值与“blonde”不同的键,但代码的问题是:

1)程序给出错误:

RuntimeError: dictionary changed size during iteration

2)程序将其删除,但只有一个键,即输出为:

{'Brad': 'brown', 'Peter': 'blonde', 'Hanna': 'blonde'},在本例中,程序只删除'Jason',但我还需要删除'Brad'。你知道吗

你知道为什么我的代码不能正常工作吗? 谢谢你的帮助。你知道吗


Tags: of代码in程序dictionarypeterdelstrings