Java教程

023 字典键值支持哪些数据类型

本文主要是介绍023 字典键值支持哪些数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 有哪些数据类型不能作为字典键值的类型

列表和字典

d = {}
d['name'] = 'Bill'
d[10] = 20
d[True] = 1
d[12.3] = 20.1

d[(1,2,3)] = [4,5,6]

class Person:
    pass

p1 = Person()
p2 = Person()
d[p1] = "p1"
d[p2] = "p2"

print(d)
print(d[12.3])

# d[[1,2]] = 3
# TypeError: unhashable type: 'list'
d[{'a': 3}] = 4
# TypeError: unhashable type: 'dict'

  

2. 为什么列表和字典类型的值不能作为字典的键值

因为key是不能变的。列表和字典的值是可以变化的,一旦变化,就再也找不到对应的value了。

这篇关于023 字典键值支持哪些数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!