python - 字典中可以跳过区分大小写吗?

标签 python dictionary case-sensitive

我尝试过:

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/

相关文章:

python - 导入错误: cannot import name 'app' from 'mypackage' (unknown location)

Python 多处理 - 返回一个字典

python - 如何在 Python 中将定义的字典传递给 **kwargs?

mysql - SELECT COLUMN 和 COUNT 区分大小写,mysql?

python - 将嵌套列表的字典转换为 pandas DataFrame

python - 从员工字典中打印员工对象信息

mysql - MySQL 中的 UNIQUE 索引是否区分大小写?

string - 在字符串上的when表达式中设置忽略大小写值

python - 如何计算python中每行具有值的列数?

python - python set 和 dict "internally"的区别