-3
我想創建所有數據客戶端發送到服務器的字典密鑰。如何在不使用'='的情況下初始化字典,因爲每次建立連接時,我都想將自己附加到列表[數據]中。問題初始化字典不使用'='
我得到一個錯誤,用下面的代碼
factory.list = {}
.
.
.
def dataReceived(self,data):
self.factory.list[data].append(self)
我想創建所有數據客戶端發送到服務器的字典密鑰。如何在不使用'='的情況下初始化字典,因爲每次建立連接時,我都想將自己附加到列表[數據]中。問題初始化字典不使用'='
我得到一個錯誤,用下面的代碼
factory.list = {}
.
.
.
def dataReceived(self,data):
self.factory.list[data].append(self)
看來你要一個列表添加到字典,如果它不存在,就:
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)
使用factory.list = collections.defaultdict(名單)
我不確定我是否理解。你在尋找'self.factory.list.setdefault(data,[])。append(self)'? – freakish 2014-10-12 07:42:50
什麼是錯誤? – 2014-10-12 08:01:03