我想在不丢失键名的情况下合并两个命名元组。如果,我只是与 '+' 运算符合并,结果我得到一个元组,但没有名称。
例如:
n [1]: from collections import namedtuple
In [2]: A = namedtuple("A", "a b c")
In [4]: B = namedtuple("B", "d e")
In [5]: a = A(10, 20, 30)
In [6]: b = B(40, 50)
In [7]: a + b
Out[7]: (10, 20, 30, 40, 50)
正如你在上面的例子中看到的, a + b 的结果没有与之关联的名称。
但是,我可以通过创建第三个命名元组来实现它,它具有来自 A 和 B 的字段。
In [8]: C = namedtuple("C", A._fields + B._fields)
In [9]: C(*(a + b))
Out[9]: C(a=10, b=20, c=30, d=40, e=50)
这是正确的方法还是有更好的方法来做到这一点?