3 ms·
Most semi-primitive types in python is immutable, yes (int, float, char, str, and DateTime), but all of the collections are mutable (List, Dict, Set). I'm sure
by FrederikNS 10y ago
Most semi-primitive types in python is immutable, yes (int, float, char, str, and DateTime), but all of the collections are mutable (List, Dict, Set).
I'm sure there are immutable versions of those same data structures hidden somewhere in the standard library, but I haven't looked.
I did stumble upon pyrsistent (https://github.com/tobgu/pyrsistent https://github.com/tobgu/pyrsistent) a while ago which does provide proper immutable (and persistent) data structures for python.
- crdoconnor 10y agoI usually treat them as immutable by using copy(x) or deepcopy(x) unless I'm writing a chunk of code that is explicitly building it from scratch and pushing it somewhere.