比较并消除字典中的重复值



我有这样一本字典:

dict = {'alpha1': ['a', 'b', 'c', 'd', 'e', 'f'], 'alpha2': ['e', 'f', 'g'], 'alpha3': ['j', 'k', 'l', 'm'], 'alpha4': ['h', 'i', 'j', 'k']}

是否可以比较字典中的值以确保每个值只出现一次?我需要消除重复的值,这样我就可以有一个这样的字典:

dict = {'alpha1': ['a', 'b', 'c', 'd', 'e', 'f'], 'alpha2': ['g'], 'alpha3': ['j', 'k', 'l', 'm'], 'alpha4': ['h', 'i']}

我正在尝试以下内容:

result = {}
for key, value in dict.items():
if value not in result.values():
result[key] = value
print(result)

这将返回相同的原始字典给我。我对python很陌生,所以任何帮助都会很感激。

您需要遍历列表元素,并测试每个字符串以查看它是否已添加到任何列表中。

您可以使用set来保存已添加的所有字符串。

result = {}
seen = set()
for key, value in dict.items():
for string in value:
if string not in seen:
seen.add(string)
result.setdefault(key, []).append(string)
print(result)

顺便说一句,不要使用dict作为变量名。它已经是一个内置类型了。

相关内容

  • 没有找到相关文章

最新更新