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]