[英]How to check for the presence of a substring in a list of strings
我有一個字符串列表,我需要生成一個 boolean 數組,指示列表的每個單元格中都存在 substring。 如何實現並生成一個數組,而不是僅返回包含 substring 的列表中的字符串?
例如,檢查:
my_array = np.array(['hello', 'this', 'is', 'a', 'testello'])
應該返回:
check = np.array([1, 0, 0, 0, 1])
或者:
check = np.array([true, false, false, false, true])
當它檢查 substring 'ello' 時。
謝謝!
您有一個 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])
只需確保“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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.