集合中元素的数据类型可以不同,但集合中不能嵌套列表、元组、集合、字典

时间:2025-02-14 18:25:42

1、问题根源:

text = {"a":{"aa":1,"b":2},"b":2,"c":3,"d":4,"e":5}
list_dict = [{v:text[v]} for v in text]
set(list_dict)

输出:

TypeError                                 Traceback (most recent call last)
<ipython-input-61-1aa0066cf4cc> in <module>()
      1 text = {"a":{"aa":1,"b":2},"b":2,"c":3,"d":4,"e":5}
      2 list_dict = [{v:text[v]} for v in text]
----> 3 set(list_dict)

TypeError: unhashable type: 'dict'

因为集合的元素类型只能是不可变数据类型,如整数,浮点数,字符串,元组等(列表,字典,集合类型本身都是可变数据类型,不能做集合的元素出现)