Почему это возвращает False в Python 3?И какой способ заставить его вернуть True?
e = "allé.png" l = ["allé.png"] print(e in l)
При сравнении юникода вы должны нормализовать свои данные, используя unicodedata .Если вы хотите выполнить поиск в большом списке, вы можете использовать map или составление списка:
import unicodedata from functools import partial normalize = partial(unicodedata.normalize, 'NFC') e = "allé.png" e = normalize(e) l = ["allé.png"] print(e in map(normalize, l))
Output
True
Или какальтернатива:
print(e in [normalize(s) for s in l])
Далее