我想在Python中创建一组namedtuple
,并且可以使用union操作动态添加元素。python set union操作与名称元组表现不好
以下代码片段会创建一个的namedtuple
,该行为很好。
from collections import namedtuple
B = namedtuple('B', 'name x')
b1 = B('b1',90)
b2 = B('b2',92)
s = set([b1,b2])
print(s)
如果我创建另一个namedtuple
,并将其与union
操作如预期它不表现添加到我的set
它打印
{B(name='b1', x=90), B(name='b2', x=92)}
现在。
b3 = B('b3',93)
s = s.union(b3)
print(s)
代码片段将打印以下输出。
{93, B(name='b1', x=90), B(name='b2', x=92), 'b3'}
预期输出应该是:
{B(name='b1', x=90), B(name='b2', x=92), B(name='b3', x=93)}
上午我错误理解API? python2和3都显示相同的行为。