Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如果有(x在y中),不区分大小写和重音?_Python - Fatal编程技术网

Python:如果有(x在y中),不区分大小写和重音?

Python:如果有(x在y中),不区分大小写和重音?,python,Python,我有以下字符串列表: exclude = ['eee', 'iii'] 我有一句话需要考验: word = 'Iîïe' 我希望以下测试是正确的: if any(x in word for x in exclude): #I want to be here ! 为了真实,我的条件需要不区分大小写和重音。。。如何使用?您可以使用名为: Unidecode提供的是一条中间道路:函数Unidecode()获取Unicode数据并尝试用ASCII字符(即0x00和0x7F之间的通用可显示字

我有以下字符串列表:

exclude = ['eee', 'iii']
我有一句话需要考验:

word = 'Iîïe'
我希望以下测试是正确的:

if any(x in word for x in exclude):
    #I want to be here !

为了真实,我的条件需要不区分大小写和重音。。。如何使用?

您可以使用名为:

Unidecode提供的是一条中间道路:函数Unidecode()获取Unicode数据并尝试用ASCII字符(即0x00和0x7F之间的通用可显示字符)表示它,在选择两个字符集之间的映射时,所做的折衷接近使用美国键盘的人所选择的

例如:

from unidecode import unidecode
...
if any(x in unidecode(word).lower() for x in exclude):
    ...

中的
只执行子字符串搜索。因此,它的大小写和重音敏感我不知道如何做重音不敏感,你将不得不进一步定义。对于大小写不敏感
any([x in world.lower()表示x in exclude])
可以完成这项工作。你确定你的意思不是
exclude=['e','i']
?看看这个。你知道它的资源密集度有多高吗?我不知道,但你应该能够使用用例中的样本数据对它进行基准测试。我还建议您阅读项目页面中的“性能说明”部分。