如果 list 包含不区分大小写的 substring,我如何从 string 返回不区分大小写的 string?返回的字符串应不区分大小写
我能够从列表中返回字符串,但我使用的是小写方法。我想在不修改的情况下将其恢复到原始状态
entriesList = ['CSS', 'Django', 'Git', 'HTML', 'Python']
substring = "g"
def substringSearch(substring, entriesList):
return [string for string in (string.casefold() for string in entriesList) if substring in string]
print(substringSearch(substring, entriesList))
结果:
['django', 'git']
我想得到什么:
['Django', 'Git']
最佳答案
您可以在理解测试中只使用 lower()
或 casefold()
。
[string for string in entriesList if substring in string.casefold()]
您不需要为此制作新的生成器。这会给你:
entriesList = ['CSS', 'Django', 'Git', 'HTML', 'Python']
substring = "g"
def substringSearch(substring, entriesList):
return [string for string in entriesList if substring in string.casefold()]
print(substringSearch(substring, entriesList))
# ['Django', 'Git']
关于Python 从列表中返回不区分大小写的字符串,如果它包含不区分大小写的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69096112/