作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
-6ren">
通过引用代码在
http://initd.org/psycopg/docs/extras.html#dictionary-like-cursor
>>> rec['data']
"abc'def"
>>> rec[2]
"abc'def"
我想知道他们是如何做到同时具有元组和字典特性的数据结构的?
最佳答案
在 Python 中,[]
查找由 __getitem__
魔术方法处理;换句话说,当您索引自定义类时,Python 将调用 instance.__getitem__(...)
并返回值。这让你可以做,例如
>>> class Foo:
... def __getitem__(self, value):
... return value
...
>>> foo = Foo()
>>> foo["1"]
'1'
>>> foo[0]
0
有几种维护实际数据结构的自然方式;可能最简单的方法是维护 字典和列表,并根据键的类型对其中之一进行索引。
注意这是不自然的;您会期望类似字典的对象将 0
视为键。可能值得编写不同的方法,例如index
处理索引。
您可能还希望实现 __setitem__
和 __contains__
方法。
关于python - 如何拥有兼具元组和字典特性的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4142406/
我是一名优秀的程序员,十分优秀!