2012-04-14 4 views

Répondre

4

Oui, utilisez tp_as_mapping à la place.

Son mp_subscript prend un PyObject * de sorte que vous pouvez utiliser n'importe quoi comme index/clé.

Pour comprendre comment ils se rapportent, vous pouvez jeter un oeil à la source de PyObject_GetItem() qui (comme le dit le document) est l'équivalent de l'expression Python o[key]. Vous verrez qu'il essaie d'abord tp_as_mapping et si ce n'est pas là et la clé est int, il essaie tp_as_sequence.