我尝试过:
d = {3:'a',2:'b'}
if 'B' in d.values():
print 'True'
对我来说,B
等于 b
,但我不想更改我的字典。
是否可以针对字典的值测试不区分大小写的匹配?
如何在不更改值的情况下检查字典中是否存在'B'
?
更复杂:
d = {3:'A',2:'B',6:'c'}
最佳答案
您必须循环遍历这些值:
if any('B' == value.upper() for value in d.itervalues()):
print 'Yup'
对于 Python 3,将 .itervalues()
替换为 .values()
。这测试了值的最小数量;不会创建中间列表,any()
循环会在找到匹配项时终止。
演示:
>>> d = {3:'a',2:'b'}
>>> if any('B' == value.upper() for value in d.itervalues()):
... print 'Yup'
...
Yup
关于python - 字典中可以跳过区分大小写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18655100/