我有一个包含像['love', 'hair', 'light', 'hair dryer', 'bright light', 'bright hair dryer']
这样的元素的列表,如果它们出现在三元结构中,我想过滤单字或双字元素。我该怎么做?最后我应该有['love', 'bright light', 'bright hair dryer']
。具体来说,我需要从列表中删除头发,因为'hair dryer'
包含它,但我也需要删除'hair dryer'
,因为'bright hair dryer'
包含它
Tags:
这个解决方案使用蛮力来检查每个字符串与剩余的字符串(切片数组),justo的乐趣在于编写一个线性
如果顺序颠倒,它不会删除字符串,例如
"hair bright"
不被视为"bright hair dryer"
的子字符串您可以按相反顺序遍历按短语长度排序的列表,并将每个可能的子短语添加到一个集合中,以便使用集合检查当前短语是否是前一个较长短语的子短语:
因此:
output
变成:相关问题 更多 >
编程相关推荐