在字符串列表中,如何删除列表中其他字符串的字符串?

时间:2018-05-16 21:14:08

标签: python

在字符串列表中,如何删除列表中其他字符串的字符串?

这是一个例子。

lst = ['Hello World', 'Hello', 'This is test', 'is test']

我只想将['Hello World', 'This is test']作为输出。

2 个答案:

答案 0 :(得分:1)

您可以使用any

lst = ['Hello World', 'Hello', 'This is test', 'is test']
new_results = [a for i, a in enumerate(lst) if any(h in a and c != i for c, h in enumerate(lst))]

输出:

['Hello World', 'This is test']

答案 1 :(得分:1)

您可以应用list comprehension过滤列表。

此外,通过应用filter 表达式作为参数,使用lambda方法。

lst = ['Hello World', 'Hello', 'This is test', 'is test']
lst = [string for string in lst if len(list(filter(lambda x: string in x, lst))) == 1]

输出

['Hello World', 'This is test']