The difference between mutable and immutable is the ability to change in place.
1) Space: In Lists and Dictionaries, elements can be added to, removed from, or rearranged. It SAVES significant memory space to change in place, and this is very important when handling big amount of data... You can have very long lists and dictionaries in memory to work on.
2) Flexibility: The structure can be easily changed by multiple functions and processes.
But what is the advantage of immutable types (or unchanging types)? There are two major reasons for immutable types-
1) Constant: This is structure that is referred to again and again. This is good for the integrity and safety of the data structure.
2) Speed: Immutable types can be represented as memory area that can be referred to by only a few pointers sometimes just a single pointer and size dimension. It is very fast to reference these structures.