我有两份 list .

L1 = ['worry not', 'be happy', 'very good', 'not worry', 'good very', 'full stop'] # bigrams list
L2 = ['take into account', 'always be happy', 'stay safe friend', 'happy be always'] #trigrams list

如果我仔细观察,L1有'not worry' 'good very',这是'worry not''very good'的完全相反的重复.

我需要从列表中删除这些反向元素.类似地,在L2中,'happy be always''always be happy'的反面,也需要删除.

我想要的最终结果是:

L1 = ['worry not', 'be happy', 'very good', 'full stop']
L2 = ['take into account', 'always be happy', 'stay safe friend']

我try 了一种解决方案

[[max(zip(map(set, map(str.split, group)), group))[1]] for group in L1]

但它没有给出正确的输出.

推荐答案

如果从末尾遍历列表,则可以使用列表理解来完成此操作

lst = L1[::-1] # L2[::-1]
x = [s for i, s in enumerate(lst) if ' '.join(s.split()[::-1]) not in lst[i+1:]][::-1]

# L1: ['worry not', 'be happy', 'very good', 'full stop']
# L2: ['take into account', 'always be happy', 'stay safe friend']

Python相关问答推荐

连接几个Pandas 数据框

如何将字典列表中的每个元素增加一个?

如何使用 groupby 判断是否有多个版本

Python3:TypeError:“模块”对象不可调用

如何在pygame中启用中文输入?

当数据框列有逗号时如何将数据框转换为字典

我需要基于两列数据框生成新列,如何才能更快?

Django ORM PostgreSQL DELETE 查询

从 mcqs 抓取数据

使用 python 比较 2 个大型 CSV - 输出差异

Pandas 根据多个条件遍历行然后从列中减去?

使用类对象设置 Numpy 数组元素

如何使用自定义标记 colored颜色 将每个句子包装在标签中?

Python SQLite3 多字符串操作

将列表拆分成块,块之间有重复

Matplotlib 将动画保存为视频,但内容为空

如何在python中并排获得七段输出?

总结一个dict中有多少字段是空的或不存在的

Sklearn - 排列重要性导致模型中零系数的非零值

如何在我的 HTML 代码中使用 pyscript 并返回输出