python - 从字典列表中删除重复项会引发异常吗?

标签 python dictionary

我在 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/

相关文章:

python - 为什么 numpy.datetime64 会给出一系列年份的错误?

python - 如何在 PyMongo 的 GridFS 中打开文件的 GridOut 实例?

python - 如何消除matplotlib中* images之间的间隙?

java - 摆脱 Map 中的泛型

javascript - Maps 如何在 JavaScript 中对对象引用进行哈希处理?

python :排序

python - 为什么在 Python 中列表访问 O(1)?

Python按指定顺序循环字典

Python - 从 CSV 创建字典的字典

python - 如何在我的类中正确集成 add 和 mul 方法?