如何在以下列表中搜索包含字符串“abc”的项目?
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
以下检查“abc”是否在列表中,但未检测到“abc-123”和“abc-456”:
if 'abc' in xs:
如何在以下列表中搜索包含字符串“abc”的项目?
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
以下检查“abc”是否在列表中,但未检测到“abc-123”和“abc-456”:
if 'abc' in xs:
当前回答
将nan添加到列表中,以下内容适用于我:
some_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456',np.nan]
any([i for i in [x for x in some_list if str(x) != 'nan'] if "abc" in i])
其他回答
如果您只需要知道“abc”是否在其中一项中,这是最短的方法:
if 'abc' in str(my_list):
注意:这假设“abc”是字母数字文本。如果“abc”可能只是一个特殊字符(即[]”,),请不要使用它。
any('abc' in item for item in mylist)
如果要获取多个子字符串的数据列表
你可以这样改
some_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
# select element where "abc" or "ghi" is included
find_1 = "abc"
find_2 = "ghi"
result = [element for element in some_list if find_1 in element or find_2 in element]
# Output ['abc-123', 'ghi-789', 'abc-456']
我需要与以下匹配项对应的列表索引:
lst=['abc-123', 'def-456', 'ghi-789', 'abc-456']
[n for n, x in enumerate(lst) if 'abc' in x]
输出
[0, 3]
my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
for item in my_list:
if (item.find('abc')) != -1:
print ('Found at ', item)