Non-invaziv olabilmen için bir ambalaj yapardım . Asgari olarak, örneğin ...:
class CaseInsensitively(object):
def __init__(self, s):
self.__s = s.lower()
def __hash__(self):
return hash(self.__s)
def __eq__(self, other):
try:
other = other.__s
except (TypeError, AttributeError):
try:
other = other.lower()
except:
pass
return self.__s == other
Şimdi, if CaseInsensitively('MICHAEL89') in whatever:
gerektiği gibi davranmalıdır (sağ taraf bir liste, dikte veya küme olsun). (Dize dahil etme için benzer sonuçlar elde etmek, bazı durumlarda uyarılardan kaçınmak unicode
, vb. İçin daha fazla çaba gerektirebilir ).
if 'CaseFudge'.lower() in [x.lower() for x in list]