创建namedtuples列表时出现TypeError:__ new __()只需2个参数(给定3个)

时间:2017-07-20 17:44:45

标签: python namedtuple

我想要完成的是创建包含namedtuples的列表,所有这些都在循环中。我的代码:

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 个答案:

答案 0 :(得分:3)

namedtuple采用名称和字段名称列表:

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

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