Ben Finney writes: > Frank Millman writes: > >> Assume you have a tuple of tuples - >> >> a = ((1, 2), (3, 4)) >> >> You want to add a new tuple to it, so that it becomes > > As you acknowledge, the tuple ‘a’ can't become anything else. Instead, > you need to create a different value. > >> The obvious way does not work - >> >> a += (5, 6) >> >> ((1, 2), (3, 4), 5, 6) > > Right, because a tuple is immutable. > > So instead, you want a different tuple. You do that by creating it, > explicitly constructing a new sequence with the items you want:: > > b = tuple([ > item for item in a > ] + [(5, 6)])
b = tuple(list(a) + [(5,6)]) b = a + tuple([(5,6)]) b = a + ((5,6),) b = tuple(itertools.chain(iter(a), iter(((5,6),)))) # :)))) -- https://mail.python.org/mailman/listinfo/python-list