我们在学 python 中的 list 和 dict 时知道:
- list 是有序的,所以可以通过 list_a[0] 这样的方式通过索引(index)来访问列表中某个位置上的元素;
- dict 是无序的,所以无法通过 dict_b[0] 这样的方式来访问字典中的元素,需要通过 dict_b[key] 通过键(key)来访问。
但是,
dict_b[0] 这种写法并非完全不可能!
在有些语言里,字典的键必须是字符串。但 python 不是。python 中的不可变类型(实现了__hash__方法的)都可以作为 key。因此,如下这个字典是合法的:
dict_b = { 'a': 1, 0: 2, 1.5: 3, (2, 3): 4 }
于是,访问 dict_b[0] 就会得到对应的值(value):2。
不仅如此,你甚至还可以正常调用 dict_b[1.5]、dict_b[2, 3]。
不过在实际开发中,除非有特殊需求,或者和你的合作开发者有仇,否则不太建议用这种方式来设定字典的键。
在 #PY小贴士# 里,我们会分享 python 知识点、开发小技巧、学习中的常见问题等。篇幅短小,适合碎片时间阅读,欢迎关注!
本栏目接受投稿,采纳后将署名发表,可附个人博客、公众号、Github等。
如果你在编程学习中有疑问,可通过以下方式向我们提问:
1. 加入码上行动答疑群(最及时响应)
2. 加入知识星球 https://t.zsxq.com/IiAiiQj
3. 发微博加上 #编程教室# 并 @Crossin(非私信)
提问时请表述清楚,附上必要代码、输出等截屏。