Python检查字典中是不是存在值[重复]

Posted

技术标签:

【中文标题】Python检查字典中是不是存在值[重复]【英文标题】:Python check if value exists in dictionary [duplicate]Python检查字典中是否存在值[重复] 【发布时间】:2015-12-06 04:00:39 【问题描述】:

我有一个 Python 字典,如下:

users = 'user': 'pw': 'password'

如何检查字典中是否存在该值?

我会在以下 if 语句中收到错误:

if 'password' in users:
        return 'true'
else:
        return 'false'

【问题讨论】:

你应该以一种你想要执行的操作很便宜的方式来组织你的数据,并且找出一个字典是否包含一个值已经很昂贵了,更不用说嵌套的值了。此外,几乎没有理由检查密码是否正在使用中。它只是泄露信息,很容易侵入您的系统。 @user2357112 我的直觉是OP不会理解你刚才所说的。 @nbro:我也是,但接触这些信息可能对未来的理解很有用,即使他现在不理解。 【参考方案1】:

您在字典中有一个字典,因此要检查是否有任何用户(***)将密码(键“pw”)设置为“密码”,您可以使用:

return 'password' in (user['pw'] for user in users.itervalues())

另请注意,Python 中的布尔值是 TrueFalse。如果你想返回字符串'true''false',你可以这样做:

return 'true' if 'password' in (user['pw'] for user in users.itervalues()) else 'false'

【讨论】:

【参考方案2】:

你会的

if users['user']['pw'] == 'password':
    return 'true'
else:
    return 'false'

【讨论】:

以上是关于Python检查字典中是不是存在值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

检查一个键是不是存在并且它的值不是 Python 字典中的空字符串

如何检查字典值是不是在 python 的字典列表中可用?

寻找一种优雅的方法来检查字典中是不是存在密钥[重复]

为字典中的一个键附加多个值[重复]

如何检查 NSDictionary 中的值是不是存在于字典数组中

如何检查返回对象是不是是python中的字典[重复]