簡體   English   中英

如何檢查字符串列表中是否存在 substring

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM