如何检查字符串列表中是否存在子字符串
How to check for the presence of a substring in a list of strings
我有一个字符串列表,我需要生成一个布尔数组,指示列表的每个单元格中是否存在一个子字符串。如何实现并生成一个数组,而不仅仅是 return 包含子字符串的列表中的字符串?
例如,检查:
my_array = np.array(['hello', 'this', 'is', 'a', 'testello'])
应该return:
check = np.array([1, 0, 0, 0, 1])
或者:
check = np.array([true, false, false, false, true])
当它检查子字符串 'ello' 时。
谢谢!
只需确保 'ello' 包含在 'my_array' 的元素中即可。
下面是检查元素是否包含 'ello'.
的代码
import numpy as np
my_array = np.array(['hello', 'this', 'is', 'a', 'testello'])
check = list()
for data in my_array:
if 'ello' in data:
check.append(1)
else:
check.append(0)
check = np.array(check)
您可以将 1 更改为 True,将 0 更改为 False。
你有一个 numpy 数组,而不是列表。
无论如何,考虑一个列表(这也适用于 numpy 数组):
my_lst = ['hello', 'this', 'is', 'a', 'testello']
query = 'ello'
out = [query in e for e in my_lst]
# [True, False, False, False, True]
对于 numpy 数组:
my_array = np.array(['hello', 'this', 'is', 'a', 'testello'])
out = np.core.defchararray.find(my_array, query)>0
# array([ True, False, False, False, True])
我有一个字符串列表,我需要生成一个布尔数组,指示列表的每个单元格中是否存在一个子字符串。如何实现并生成一个数组,而不仅仅是 return 包含子字符串的列表中的字符串?
例如,检查:
my_array = np.array(['hello', 'this', 'is', 'a', 'testello'])
应该return:
check = np.array([1, 0, 0, 0, 1])
或者:
check = np.array([true, false, false, false, true])
当它检查子字符串 'ello' 时。
谢谢!
只需确保 'ello' 包含在 'my_array' 的元素中即可。 下面是检查元素是否包含 'ello'.
的代码import numpy as np
my_array = np.array(['hello', 'this', 'is', 'a', 'testello'])
check = list()
for data in my_array:
if 'ello' in data:
check.append(1)
else:
check.append(0)
check = np.array(check)
您可以将 1 更改为 True,将 0 更改为 False。
你有一个 numpy 数组,而不是列表。
无论如何,考虑一个列表(这也适用于 numpy 数组):
my_lst = ['hello', 'this', 'is', 'a', 'testello']
query = 'ello'
out = [query in e for e in my_lst]
# [True, False, False, False, True]
对于 numpy 数组:
my_array = np.array(['hello', 'this', 'is', 'a', 'testello'])
out = np.core.defchararray.find(my_array, query)>0
# array([ True, False, False, False, True])