Python 不区分大小写有效地检查字符串列表是否包含在另一个字符串中

问题描述 投票:0回答:1

我想检查一个字符串列表是否包含在另一个字符串中但是忽略大小写

例如:

Input: 'Hello World', ['he', 'o w']
Output: [True, True]
Input: 'Hello World', ['he', 'wol']
Output: [True, False]

我可以这样写:

output =[]
for keyword in keywordlist:
  if keyword.lower() in string.lower():
    output.append(True)
  else:
    output.append(False)

但是问题是:

  1. 时间复杂度
  2. 使用较低的()

我在stack overflow上发现了这个问题 Check if multiple strings exist in another string

但它不适用于忽略大小写。

有没有有效的方法来做到这一点?

python string list substring case-insensitive
1个回答
0
投票

这可能是相当有效的:

# make sure the input string is lowercase - do this only once
string = 'Hello World'.lower()
keywordlist = ['he', 'o w'] # all keywords assumed to be lowercase
output = [kw in string for kw in keywordlist]
print(output)

输出:

[True, True]
© www.soinside.com 2019 - 2024. All rights reserved.