Python数组语法


Python array syntax

也许这是一个愚蠢/简单的问题,但是我应该如何在python中解释这种类型的数组符号。

self.sessions[(recepientId, deviceId)]

我想把一些Python翻译成PHP。

正如有人说的不清楚,对我来说更不清楚,所以我就把完整的功能放进去。但是我不能做更多,我不太懂python。

   def loadSession(self, recepientId, deviceId):
    if self.containsSession(recepientId, deviceId):
        return SessionRecord(serialized=self.sessions[(recepientId, deviceId)])
    else:
        return SessionRecord()

sessions变量的定义如下:

self.sessions = {}

(recepientId, deviceId)是由两个对象组成的元组。self.sessions是一个字典(即键值哈希映射)。

元组是,通过执行self.sessions[(recepientId, deviceId)]从字典中检索其相关值。因此,它只是查找哈希映射(在Python中称为字典)中的特定值。

这段代码只是试图在self中找到SessionRecord。

通过key来创建会话(键值映射),其中key是一对recipientId和deviceId。

在c++、Java、c#等语言中,我们更愿意这样写:

class Key {
//constructor
Id recipientId;
Id deviceId;
//getters|setters and stuff
}
Map<Key, SessionRecord> sessions = Store.getSessions();
SessionRecord session = sessions.get(new Key(recipientId, deviceId));