在不使用'='的情况下初始化词典

时间:2014-10-12 07:39:53

标签: python dictionary twisted

我想为发送到服务器的所有数据客户端创建字典键。如何在不使用'='的情况下初始化字典,因为我想在每次连接时附加self来列出[data]。

我收到以下代码的错误

factory.list = {}
.
.
.
def dataReceived(self,data):
    self.factory.list[data].append(self)

2 个答案:

答案 0 :(得分:1)

使用factory.list = collections.defaultdict(list)

答案 1 :(得分:0)

如果它还不存在,似乎你想要向dict添加一个列表:

def dataReceived(self,data):
    self.factory.list.setdefault(data, []).append(self)

相当于:

def dataReceived(self,data):
    if data not in self.factory.list:
        self.factory.list[data] = []
    self.factory.list[data].append(self)