Tôi sẽ làm một trình bao bọc để bạn có thể không xâm lấn. Tối thiểu, ví dụ ...:
class CaseInsensitively(object):
def __init__(self, s):
self.__s = s.lower()
def __hash__(self):
return hash(self.__s)
def __eq__(self, other):
# ensure proper comparison between instances of this class
try:
other = other.__s
except (TypeError, AttributeError):
try:
other = other.lower()
except:
pass
return self.__s == other
Bây giờ, if CaseInsensitively('MICHAEL89') in whatever:
nên hành xử theo yêu cầu (cho dù phía bên phải là danh sách, chính tả hoặc tập hợp). (Nó có thể đòi hỏi nhiều nỗ lực hơn để đạt được kết quả tương tự để đưa vào chuỗi, tránh cảnh báo trong một số trường hợp liên quan unicode
, v.v.).
if 'CaseFudge'.lower() in [x.lower() for x in list]