3 ms·
> class types.MappingProxyType(mapping) > Read-only proxy of a mapping. It provides a dynamic view on the mapping’s entries, which means that when the mappi
by ciupicri 5y ago
> class types.MappingProxyType(mapping)
> Read-only proxy of a mapping. It provides a dynamic view on the mapping’s entries, which means that when the mapping changes, the view reflects these changes.
https://docs.python.org/3/library/types.html#types.MappingProxyType https://docs.python.org/3/library/types.html#types.MappingPr...
- rmbyrro 5y agoThis can be helpful in some cases, but it's precisely what I sometimes need to avoid, which is protecting a dictionary and having changes affecting only its own scope. If function A passes a dict to function B, I would like: 1) Function A to keep the dict intact while function B can manipulate its content; 2) Function A can change the dict after passing to B, and B still keep the original copy, unaware of A's later changes. One way of doing this is by deep copying dictionaries around, but it can easily become a big performance issue.
- ciupicri 5y agoIt sounds like what you really want is an efficient way of copying dictionaries, perhaps copy on write, something like the cowdict [1] project. [1]: https://pypi.org/project/cowdict/ https://pypi.org/project/cowdict/