我有一个像这样的名字小组:
tup = namedtuple(
'MyData', [
'field_1',
'field_2
])
我希望能够做的是将元数据附加到每个值,例如,以了解字段是否为字母数字:
tup = namedtuple(
'MyData', [
{name:'field1', metadata: {is_alpha: True}},
{name:'field2', metadata: {is_alpha: False}},
])
我在文档中找不到任何类似这样的接口,但是我想知道你们是否知道它是否可能。谢谢!
答案 0 :(得分:0)
一个namedtuple不完全支持这个,但它是一个类,所以你可以在定义tup.field1_is_alpha = True
之后通过执行类似tup
的操作来添加其他属性(在顶部)的帖子)。
另一个可能的解决方案是将tup
的每个字段设置为另一个元组(或命名元组或类),例如..
t1 = tup( (1,True), (5,False) )
这里的缺点是元数据与类的每个实例一起,而不是类本身。