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 中的布尔值是 True
和 False
。如果你想返回字符串'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 字典中的空字符串