为什么在Python 3中返回False?如何使它返回True?

e = "allé.png"
l = ["allé.png"]

print(e in l)


python - 匹配Python 3中字符串列表中的重音字符串-LMLPHP

最佳答案

比较unicode时,应使用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))


输出量

True


或作为替代:

print(e in [normalize(s) for s in l])


进一步


What does unicodedata.normalize do in python?
Normalizing Unicode

关于python - 匹配Python 3中字符串列表中的重音字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52994408/

10-11 21:02