from collections import namedtuple myNamedTuple = namedtuple('myNamedTuple', ['P1', 'P2', 'P3', 'P4', 'P5', 'P6'], defaults=[None, None, None, '', [], []]) if __name__ == '__main__': g = myNamedTuple(P1 = 'hello', P2 = 'world') h = myNamedTuple(P1 = 'good', P2 = 'morning') list1 = ['a','b'] list2 = ['c','d'] print("g.P5 1: " + str(g.__repr__())) print("h.P5 1: " + str(h.__repr__())) print("Expected: g.P5: []") print("Actual: g.P5: " + str(g.P5)) print("Expected: h.P5: []") print("Actual: h.P5: " + str(h.P5)) new_g_P5 = g.P5 new_g_P5.extend(list1) g = g._replace(P5 = new_g_P5) print("g.P5 2: " + str(g.__repr__())) print("h.P5 2: " + str(h.__repr__())) print("Expected: g.P5: ['a', 'b']") print("Actual: g.P5: " + str(g.P5)) print("Expected: h.P5: []") print("Actual: h.P5: " + str(h.P5)) new_g_P5 = g.P5 new_g_P5.extend(list2) g = g._replace(P5 = new_g_P5) print("g.P5 3: " + str(g.__repr__())) print("h.P5 3: " + str(h.__repr__())) print("Expected: g.P5: ['a', 'b', 'c', 'd']") print("Actual: g.P5: " + str(g.P5)) print("Expected: h.P5: []") print("Actual: h.P5: " + str(h.P5))