Books & Resources:
- Fluent-Python
The mantras that you should remember when optimizing your code are outlined here:
Make it run: We have to get the software in a working state and ensure that it produces the correct results. This exploratory phase serves to better understand the application and to spot major design issues in the early stages.
Make it right: We want to ensure that the design of the program is solid. Refactoring should be done before attempting any performance optimization. This really helps separate the application into independent and cohesive units that are easy to maintain.
Make it fast: Once our program is working and well structured, we can focus on performance optimization. We may also want to optimize memory usage if that constitutes an issue.
Iterators: Resources:
- https://ioflood.com/blog/python-iterator/
- https://github.com/fbaptiste/python-deepdive/blob/main/Part%202/Section%2004%20-%20Iterables%20and%20Iterators/01%20-%20Iterating%20Collections.ipynb
- https://zetcode.com/lang/python/itergener/
- Exploring Infinite Iterators in Python’s itertools https://www.kdnuggets.com/exploring-infinite-iterators-in-python-itertools
- How to Iterate Through a Dictionary in Python https://realpython.com/iterate-through-dictionary-python/
- Python Difference Between Iterable And Iterator Tutorial https://gamedevacademy.org/python-difference-between-iterable-and-iterator-tutorial-complete-guide/
![Screenshot 2023-11-02 at 12 27 29 PM](https://private-user-images.githubusercontent.com/20493493/280060337-bff64811-363c-4f78-8b15-3c7053a08eda.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwMTE5MzQsIm5iZiI6MTcyMDAxMTYzNCwicGF0aCI6Ii8yMDQ5MzQ5My8yODAwNjAzMzctYmZmNjQ4MTEtMzYzYy00Zjc4LThiMTUtM2M3MDUzYTA4ZWRhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDEzMDAzNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlmODQ4YjgwZGIyYmJjNjA5NWE0OTdmNDA2NWU2Y2M3ZGQxOWMyM2FjOTZjMjEyY2NmYjhjYTYyNjYwZTUxODEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ByTzW_sT1HbAoMtyLDabpS1V8i5G8dirp6NQ1Ro-1I8)
![Screenshot 2024-03-14 at 9 07 41 AM](https://private-user-images.githubusercontent.com/20493493/312690650-bfa05893-0c06-4719-9191-eb08c3e139d7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwMTE5MzQsIm5iZiI6MTcyMDAxMTYzNCwicGF0aCI6Ii8yMDQ5MzQ5My8zMTI2OTA2NTAtYmZhMDU4OTMtMGMwNi00NzE5LTkxOTEtZWIwOGMzZTEzOWQ3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDEzMDAzNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTcwY2Q1NGYwNjRlZjVlNmFlZjBjMGM1OWE2MmZjMTZlYzNmNjMyMzYxN2FmN2FjZmI0NTdmNmQ5M2U0ZDk4MTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Dmoq8tf9dOYCKilQ5EgXaTZ3bNtehgdTOk1jyix2DI0)