我想在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都顯示相同的行爲。