如果 Python 对象是“可下标的”,这意味着什么?

新手上路,请多包涵

哪些类型的对象属于“可下标”的领域?

原文由 Alistair 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 702
2 个回答

它基本上意味着该对象实现了 __getitem__() 方法。换句话说,它描述的是“容器”的对象,这意味着它们包含其他对象。这包括字符串、列表、元组和字典。

原文由 mipadi 发布,翻译遵循 CC BY-SA 4.0 许可协议

在我的脑海中,以下是唯一可订阅的内置函数:

 string:  "foobar"[3] == "b"
tuple:   (1,2,3,4)[3] == 4
list:    [1,2,3,4][3] == 4
dict:    {"a":1, "b":2, "c":3}["c"] == 3

但是 mipadi的回答 是正确的——任何实现 __getitem__ 的类都是可订阅的

原文由 Dan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题