如何根据值过滤字典中的密钥

时间:2015-05-11 13:48:45

标签: python dictionary

我有这个词:

mydict = {'Andreas': 0.4833775399766172, 'Anh': nan, 'Maryse': 0.61436719272499474, 'Darren': -0.44898819782452443, 'Jesse': 0.14565852997686479, 'Mitchell': nan}

南方根本没有给我任何信息,所以我想过滤掉它们。

for k, v in mydict.iteritems():
    if v == 'nan':
        del mydict[v]

我尝试了这个,但它不起作用。谁能帮助我?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要使用密钥而不是值,并且无法从正在迭代的字典中删除,您需要复制:

SSLCertificateKeyFile /etc/local/ssl/privatekey.key // Generated Private Key
SSLCertificateFile /etc/local/ssl/receivedfile.crt // Received CRT
SSLCACertificateFile /etc/local/ssl/intermediate.crt // Certificate company sends this to you as well

无论for k, v in mydict.copy().items(): if v == "nan": del mydict[k] print(mydict) 实际上是一个字符串还是其他什么东西你需要使用密钥,nan会给你一个keyError并且改变dict的大小会给你一个mydict[v]