Python 从列表中返回不区分大小写的字符串,如果它包含不区分大小写的子字符串

标签 python string list substring

如果 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/

相关文章:

C 如何制作消息列表?

python - 子图是重叠的轴标签

string -\n 和\r\n 有什么区别?

python - ElasticSearch 更新不是立即的,你如何等待 ElasticSearch 完成更新它的索引?

python - 从字符串列表中指定索引处删除不需要的子字符串

javascript - 根据时间字符串值对对象数组进行排序?

C# 慢速绘制事件 : painting large number of objects

java - 传递给调用方法的命令行参数

python - 如何将参数传递给 Sublime Text 3 中的构建?

python - pyside "hello world": py2exe/pyinstaller/cx_freeze and access violation