首页 > 解决方案 > 无法使用集合对称差异从列表中提取唯一单词

问题描述

我在两个列表中有以下单词

x = ['Director sales North America']
f = ['North America']

我的目标是只提取列表 x 的唯一元素

下面的代码

x = ['Director sales North America']
f = ['North America']
res = list(set(x).symmetric_difference (set(f)))
print(res)

给出输出

['North America', 'Director sales North America']

所需的理想输出

['Director sales']

我错过了什么。怎样才能达到上述结果?

我也可以使用正则表达式解决方案。请注意,列表中的单词只是示例,真正的目标是在与另一个列表相比时提取任何唯一的单词。

标签: pythonregexpython-3.x

解决方案


是否有任何理由将字符串保留在列表中?如果是,我会将字符串转换为字符串列表,其中每个元素都是单词,然后使用您的方法:

x_list = x[0].split()
f_list = f[0].split()
res = list(set(x_list).symmetric_difference (set(f_list)))

推荐阅读