我正在使用带有字符串列表的python脚本。我想创建一个接受字符串列表并返回超集列表并删除子集的方法。考虑以下情况:
A = ['this is a sentence', 'who is alice', 'sentence', 'hi i am carrot', 'i am carrot']
现在,如果您看到array A
,它具有两个元素,它们是一个对超集和一个子集,'this is a sentence'
是一个超集,'sentence'
并且类似'hi i am carrot'
,'i am carrot'
我想编写一个函数,该函数从列表中删除子集并返回更新后的列表。
在上面的示例中,输出如下所示:
ResultA = ['this is a sentence', 'who is alice', 'hi i am carrot']
我编写了一个快速的代码示例,可以展示我在寻找什么,但是我不确定使用两个for
循环是否正确:
elements_to_keep = []
for i in phase_two_match:
for j in phase_two_match:
if i == j:
continue
else:
if j not in i:
elements_to_keep.append(j)
[x for i, x in enumerate(A) if all(i==idx or x not in elem for idx, elem in enumerate(A))]
这将建立这些项目的列表A
,因为每个项目A
要么与该项目共享一个索引(即是同一项目),要么不是该项目的子字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句