我有一个小写字母的document_title变量值,相同的值在dic键中使用大写字母
TITLE_MAP = {
'AUS Marketing Consent': "DOCUMENT_TYPE_MARKETING_CONSENT",
'Consent & History': "DOCUMENT_TYPE_CONSENT",
}
document_title = 'aus marketing consent'
如果我这样做,我将不起作用
if document_title in TITLE_MAP.keys():
return True
我想满足条件,即使有差异
您可以使用casefold
方法进行字符串比较。由于您希望将其应用于所有键,因此可以使用列表推导式。
if document_title.casefold() in [x.casefold() for x in TITLE_MAP.keys()]:
print(True)
希望对你有帮助。
if document_title.upper() in TITLE_MAP.key():
return True
也许这有点矫枉过正,但你可以试试这个解决方案:
if document_title.lower() in {k.lower() for k in TITLE_MAP.keys()}:
print(True)
它降低字典中的每个键
两个字符串必须是相同的大小写。你必须把所有的键都转换成小写。试试下面的代码
TITLE_MAP = {
'AUS Marketing Consent': "DOCUMENT_TYPE_MARKETING_CONSENT",
'Consent & History': "DOCUMENT_TYPE_CONSENT",
}
TITLE_MAP = {k.lower(): v for k, v in TITLE_MAP.items()}
document_title = 'aus marketing consent'
if document_title.lower() in TITLE_MAP:
print(True)