【问题标题】:Issue initialising dictionaries without using '='在不使用“=”的情况下发出初始化字典
【发布时间】:2014-10-12 07:39:53
【问题描述】:

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

我收到以下代码错误

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

【问题讨论】:

  • 我不确定我是否理解。你在找self.factory.list.setdefault(data, []).append(self)吗?

标签: python dictionary twisted


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如果字典尚不存在,您似乎想在字典中添加一个列表:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      • 2022-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多