代码之家  ›  专栏  ›  技术社区  ›  PotatoBox

创建namedtuples列表时发生TypeError:\uu new\uuu()正好接受2个参数(给定3个)

  •  1
  • PotatoBox  · 技术社区  · 7 年前

    from collections import namedtuple
    
    def selectMatch(self):
        match = namedtuple('ssid', 'quality')
        matches = []
        for point in self.discoverMatch():
                print(point)
                if point.ssid.startswith(''):
                        matches.append(match(point.ssid, point.quality))
        print([x.ssid for x in matches])
        return matches
    

    因此,我在标题中提到了TypeError。我的目标是将namedtuples保存到列表中,但它说我给出了很多论点,现在我有点困惑。

    1 回复  |  直到 7 年前
        1
  •  3
  •   thaavik    7 年前

    namedtuple 获取名称和字段名列表:

    collections.namedtuple(typename, field_names, *, verbose=False, rename=False, module=None)
    

    所以你想要 match = namedtuple('match', ['ssid', 'quality'])