我在 python 中有以下列表:
[('admin', '', {'type': 'telnet'}), ('admin', '', {'type': 'telnet'})]
我试图删除重复项(如果100%相同,则被认为是重复的),所以我写道:
my_list = list(dict.fromkeys(my_list))
但有时我会遇到以下异常:
unhashable type: 'dict'
我该如何解决这个问题?
最佳答案
问题是 dict.fromkeys
使用列表的元素作为结果字典的键。字典的所有键都必须是可散列的。您的列表包含元组。当且仅当元组的所有元素都是可散列的时,元组才是可散列的。元组包含的字典不可散列。
对于这种情况,您可能会陷入一个粗略的循环:
unique = []
for elem in my_list:
if elem not in unique:
unique.append(elem)
关于python - 从字典列表中删除重复项会引发异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72805009/