Delve deep into the world of Python dictionaries and sets with this comprehensive course. Discover how crucial and omnipresent dictionaries are in Python—they form the backbone of classes, modules, namespaces, sets, and more.
Course Overview
Gain a thorough understanding of associative arrays and their implementation via hash maps. Learn how to employ hash functions to enhance your custom classes. Explore Python dictionaries and sets along with the myriad of operations you can perform on them.
What You'll Explore
The technical implementation of associative arrays using hash maps
Understanding and creating custom hash functions
Advanced operations with both Python dictionaries and sets
Specialized dictionary structures like OrderedDict and its relation to the built-in dict post Python 3.6
Exploring Python's multi-sets through the Counter class
Leveraging ChainMap and UserDict for creating custom dictionaries
Comprehensive guide on serializing and deserializing dictionaries with JSON
Utilizing schemas for custom JSON deserialization
An introduction to useful libraries such as JSONSchema, Marshmallow, PyYaml, and Serpy
This is an advanced Python course intended for those who have a strong foundational knowledge of Python.
Prerequisites
To fully benefit from this course, ensure you possess the following skills:
- A solid understanding of Python basics such as loops, conditionals, and exception handling
- Knowledge of functions and functional programming (recursion, *args, **kwargs, etc.)
- Familiarity with lambdas, closures, and decorators
- Ability to work with iterables, iterators, and generators
- Understanding of variable scopes and namespaces
- Experience with setting up and using Jupyter Notebooks and third-party library installations (e.g., using pip)
Who This Course is For
This course is ideal for Python developers who aim to deepen their proficiency with dictionaries and related features.
Learning Outcomes
- Mastering associative arrays
- Understanding hash tables and functions
- Mastering Python's hashing implementations
- Creating and customizing dictionaries
- Using defaultdict and OrderedDict
- Implementing Counter and ChainMap
- Serialization and deserialization techniques
- Working with JSON performance optimizations
- Introduction to selected third-party libraries