We've looked at the definition of performance, measuring performance complexity, and the different tools for measuring program performance. We've also gained insights by profiling code for statistics, memory usage, and the like.
We also saw a couple of examples of program optimization to improve the time performance of the code.
In this section, we will take a look at common Python data structures and discuss what their best and worst performance scenarios are and also discuss some situations of where they are an ideal fit and where they may not be the best choice.
Lists, dictionaries, and sets are the most popular and useful mutable containers in Python.
Lists are appropriate for object access via a known index. Dictionaries provide a near constant time look-up for objects with known keys. Sets are useful to keep groups of items while dropping duplicates and finding their difference, intersection...