如何在以下列表中搜索包含字符串“abc”的项目?

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

以下检查“abc”是否在列表中,但未检测到“abc-123”和“abc-456”:

if 'abc' in xs:

当前回答

x = 'aaa'
L = ['aaa-12', 'bbbaaa', 'cccaa']
res = [y for y in L if x in y]

其他回答

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']

使用Pythons字符串类的__contains__()方法。:

a = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
for i in a:
    if i.__contains__("abc") :
        print(i, " is containing")

如果您只需要知道“abc”是否在其中一项中,这是最短的方法:

if 'abc' in str(my_list):

注意:这假设“abc”是字母数字文本。如果“abc”可能只是一个特殊字符(即[]”,),请不要使用它。

def find_dog(new_ls):
    splt = new_ls.split()
    if 'dog' in splt:
        print("True")
    else:
        print('False')


find_dog("Is there a dog here?")