there is silly benefit and an important benefit to tuple' immutability the silly benefit is that code that uses tuples is slightly faster than code that uses lists (python is able to make some optimizations knowing that the values in tuple will never change but having your code run few nanoseconds faster is not important the important benefit to using tuples is similar to the benefit of using constant variablesit' sign that the value in the tuple will never changeso anyone reading the code later will be able to say-- can expect that this tuple will always be the same otherwise the programmer would have used list |this also lets future programmer reading your code say--if see list valuei know that it could be modified at some point in this program otherwisethe programmer who wrote this code would have used tuple |you can still assign new tuple value to variabletupleval ( tupleval ( the reason this code works is because the code isn' changing the ( tuple on the second line it is assigning an entirely new tuple ( to the tuplevaland overwriting the old tuple value you cannot howeveruse the square brackets to modify an item in the tuple strings are also an immutable data type you can use the square brackets to read single character in stringbut you cannot change single character in stringstrval 'hellostrval[ 'estrval[ 'xtraceback (most recent call last)file ""line in typeerror'strobject does not support item assignment one item tuples need trailing comma alsoone minor details about tuplesif you ever need to write code about tuple that has one value in itthen it needs to have trailing comma in itsuch as thisonevaluetuple ( email questions to the authoral@inventwithpython com