Here is some simplified code that I do not understand why it does not work.
from collections import namedtuple MyStruct = namedtuple('MyStruct', 'ThreadInstance ThreadName Mnemonic IpAddr IpGW Status Mode') Node = MyStruct(None, '', '', '', '', -1, 0) NodeDb = [] for id in range(4): NodeDb.append(Node) NodeDb[2]._replace(ThreadName='T2') NodeDb[2]._replace(Mnemonic='ABCD') NodeDb[2]._replace(IpAddr='192.0.1.2') NodeDb[2]._replace(IpGW='192.0.1.3') NodeDb[2]._replace(Status=0) NodeDb[2]._replace(Mode=2) print(NodeDb)
Here is the conclusion
'>>> [MyStruct(ThreadInstance=None, ThreadName='', Mnemonic='', IpAddr='', IpGW='', Status=-1, Mode=0), MyStruct(ThreadInstance=None, ThreadName='', Mnemonic='', IpAddr='', IpGW='', Status=-1, Mode=0), MyStruct(ThreadInstance=None, ThreadName='', Mnemonic='', IpAddr='', IpGW='', Status=-1, Mode=0), MyStruct(ThreadInstance=None, ThreadName='', Mnemonic='', IpAddr='', IpGW='', Status=-1, Mode=0)]'