Python 3: Deep Dive (Part 3 - Dictionaries, Sets, JSON) (Udemy.com)
Dictionaries, Sets, Related Data Structures, Serialization/Deserialization
Created by: Dr. Fred Baptiste
Last updated December 2023
Our take
Based on the ratings of 1,996 students, a sample of their written reviews and the syllabus, as the course stood in December 2023. No course pays to be reviewed.
Part 3 of Dr. Fred Baptiste's Deep Dive series is about one thing: how Python dictionaries and sets work. It starts with the theory of associative arrays and hash maps, then moves through dicts, sets, custom hash functions, OrderedDict, defaultdict, Counter, ChainMap and UserDict. The last big stretch covers JSON serialization, plus a short tour of JSONSchema, PyYaml and Serpy. It is not for beginners. The listing asks for solid command of decorators, closures, generators and context managers, and all the code is shown in Jupyter notebooks.
Reviewers are nearly unanimous about the teaching. They say he explains the why, not just the syntax, and that examples build from simple to more advanced topics. One reviewer liked that the course gives reasoning for needing a decoding approach instead of just saying to install a package. Several have taken the earlier parts too and call the whole series high quality. The reviews in our sample are all five stars, so no recurring complaint shows up. The drawbacks come from the course data instead: the prerequisites, the length and the lack of quizzes.
At about 22 hours across 85 lectures, it is a real commitment for one family of data structures. Dictionaries, sets and serialization take up most of that time. The last update was December 2023, so some library details may feel a little dated, though the core language material ages slowly. Close to 80 percent of roughly 2,000 ratings are five stars. Reviewers recommend it, and it suits working developers best. Anyone shaky on decorators and iterators should fix that first.
Pros
- Explains hashing and hash maps before using them, which reviewers say makes later topics click
- Examples build from simple to advanced, and reviewers call the exercises challenging but doable
- Covers Counter, ChainMap, UserDict and defaultdict, not just plain dicts and sets
- Rated 4.9 from about 2,000 reviews, with more than 33,000 students enrolled
Cons
- Advanced prerequisites: decorators, closures, generators and context managers are assumed
- Last updated December 2023, so library and tooling details may have aged
- About 22 hours on one topic area, and no quizzes appear in the syllabus
best python advanced course i've seen. most "advanced" courses seem to spend half the time covering basics.
Labeled intermediate, but the requirements read advanced: solid Python, decorators, iterators and Jupyter first.
What you will learn
- Associative Arrays
- Hash Tables and Hash Functions
- Python's implementation of hash tables
- Dictionaries and Sets
- Defining hash functions for our custom classes and why that is useful
- Creating customized dictionaries using the UserDict class
- defaultdict
- OrderedDict and Python3.6+ equivalences
- Counter (multi-sets)
- ChainMap
- Serialization and Deserialization
- JSON serialization/deserialization
- Intro to JSONSchema, Marshmallow, PyYaml and Serpy 3rd party libraries
Course content
12 sections · 85 lectures · 22 hours of video 2 articles
- 1Introduction 2 free previews3 lectures · 20 min
- 2Associative Arrays - Theory! 1 free preview5 lectures · 51 min
- 3Dictionaries11 lectures · 3.7 hours
- 4Coding Exercises5 lectures · 26 min
- 5Sets17 lectures · 3.3 hours
- 6Project 12 lectures · 55 min
- 7Serialization and Deserialization 1 free preview17 lectures · 5.3 hours
- 8Coding Exercises4 lectures · 57 min
- 9Specialized Dictionaries 1 free preview12 lectures · 3.6 hours
- 10Coding Exercises4 lectures · 31 min
- 11Python Updates3 lectures · 1.5 hours
- 12Extras2 lectures · 39 min
Who it is for
The instructor says it suits
- Python developers who want a deeper understanding of Python dictionaries and related topics
What you need before you start
- This is an advanced course, so a solid Python foundation is necessary
- Jupyter Notebooks
- functional programming (zip, map, sorted, any, all, etc)
- lambdas, closures and decorators
- built-in decorators such as @lru_cache, @singledispatch and @wraps
- iterables, iterators, generators and context managers
- variable scopes and namespaces (globals, locals, etc)
- ability to install 3rd party libraries (e.g. pip install)
How it compares
Against the other 388 rated Udemy courses in Python on CourseDuck:
- Rating4.9 out of 5higher than 99% of them
- Reviews1,996#132 of 389 by number of reviews
- Length21.9 hourslonger than 79% of them
- Last updatedDecember 2023more recently than 54% of them
Quality Score
Overall Score : 98 / 100
Course Description
This course is an in-depth look at Python dictionaries.
Dictionaries are ubiquitous in Python. Classes are essentially dictionaries, modules are dictionaries, namespaces are dictionaries, sets are dictionaries and many more.
In this course we'll take an in-depth look at:
associative arrays and how they can be implemented using hash maps
hash functions and how we can leverage them for our own custom classes
Python dictionaries and sets and the various operations we can perform with them
specialized dictionary structures such as OrderedDict and how it relates to the built-in Python3.6+ dict
Python's implementation of multi-sets, the Counter class
the ChainMap class
how to create custom dictionaries by inheriting from the UserDict class
how to serialize and deserialize dictionaries to JSON
the use of schemas in custom JSON deserialization
a brief introduction to some useful libraries such as JSONSchema, PyYaml and Serpy
***** Prerequisites *****
Please note that this is a relatively advanced Python course, and a strong knowledge of some topics in Python is required.
Beyond the basics of Python (loops, conditional statements, exception handling, built-in data types, creating classes, etc), you should also have an in-depth understanding of the following topics:
functions and functional programming (recursion, *args, **kwargs, zip, map, sorted, any, all, etc)
lambdas, closures and decorators (including standard decorators such as @singledispatch, @wraps, etc)
iterables, iterators, generators and context managers
named tuples
variable scopes and namespaces (globals, locals, etc)
For this course you will also need to install some 3rd party libraries, so you need to be comfortable with doing this using the tool of your choice (e.g. pip, conda, etc)
Finally, most of the code in this course is illustrated using the freely available Jupyter Notebooks, so you will need that as well.
Instructor Details
- 4.9 Rating
1,996 Reviews
Dr. Fred Baptiste
Hi,
My name is Fred Baptiste.
I am a professional software engineer with over 25 years of experience.
I started my career with a PhD in mathematics and over the years have worked with a large variety of programming languages and technologies, including Python, Go, .Net (C# and VB), Java, C++, and JavaScript to name a few, databases including relational SQL databases such as MS SQL Server, Postgres and Snowflake, as well as No-SQL databases such as Clickhouse, DynamoDB, MongoDB, Couchbase and Neo4j, message queues such as RabbitMQ, ElasticMQ/SQS, and a variety of other technologies such as Airflow, Flink, DBT, Docker, Git, and many more.
I have focused on Python based development for the last 10 years, mainly in REST API development, automation, and data engineering.
I have spent a lot of time and effort learning and gaining an in-depth understanding of Python and writing idiomatic Python, and I'd like to share that with you. I also actively maintain my YouTube channel (mathbyteacademy) which provides a lot of additional in-depth Python development videos.
I'm definitely a Python enthusiast for many reasons, and I'd like to share that passion with you too!
More courses by Dr. Fred Baptiste
Python 3: Deep Dive (Part 1 - Functional) (2024)
4.9 (13,534 Reviews)
Provider: Udemy
Time: 45.8h
$22.99
Python 3: Deep Dive (Part 2 - Iterators, Generators) (2023)
4.8 (3,134 Reviews)
Provider: Udemy
Time: 36.1h
$18.99
Reviews
By Margarita Nemirovskaia on 3/2/2025
As usual, this is a great course of high quality. I really appreciate the inclusion of some theory on associative arrays — a little theoretical background always helps in understanding the subject better. The pace of explanation is excellent, with plenty of examples progressing from simpler concepts to more advanced topics. I also like the approach of not just saying, "Here’s a package for decoding — use it," but instead providing reasoning and context on why it’s important and necessary. Thanks a lot!
By Joachim Okon on 2/3/2025
Very, very good structure of the course with very good examples. The Code examples are clearly and easy to remember. The exercises are challenging but easy to master with what you have learned in the chapters. I‘m absolutely delikates with this course and can recommended it to anyone. Fred is a great teacher who is easy to follow, even with complex Tanks.
By Adam McCarthy on 2/6/2022
This is my third of Freds courses and really consolidated my understanding of dictionaries and hash maps. The programming exercises were challenging and I had to think hard to solve them but I learned a lot through doing so. His courses are all excellent and I highly recommend them both as a way to understand pythons intricacies as well as a way to get a guided tour from a guide who knows the ins and outs of the language at a deep level
By Paolo C on 1/29/2021
I would like to thank so much Fred: his 4 courses were outstanding, and they definitely took my Python skills to the next level. I'd love to see some more material by him in the future: if he could do a course on numpy and another one on algorithms it would be fantastic :)
By Joseph Arleo on 6/21/2020
If you strive learn as much as possible and understand how things work when learning new technologies then this series of Deep Dive courses by Fred Baptiste on Python is highly recommended. Fred covers topics you won't find in many other Python courses. What makes these courses even better is the exceptional skill the instructor has in teaching the material. Fred is a natural teacher and the type of "professor" I wish I had when studying computer science in college.
By Olaf Fiedler on 2/17/2020
As the the first two parts of this course this one is just excellent as well, although there are some repetitions - mostly from lectures to coding sessions - these are helpful if you consume the course by pieces, e. g. with some days in between.
By Meisam Heidari on 1/3/2020
Like no other, I just finished the course and it was amazing. Fred is really the best python teacher on Udemy, and he knows python really well. I have done courses with other well-reviewed and more revered(!) instructors at Udemy but came to realize that they are mostly famous because they cover a lot of topics at a very shallow depth. So their course is easy to understand and seems like value for money because they cover a tone of topics. But it is not! After doing their courses you will find yourself unable to troubleshoot some of the basic problems that you would routinely face as a programmer. Basically, you can wite some basic codes without exactly understanding what you are doing. Unfortunately, they don't offer real-life solutions. So at some point, you need to dig deeper and as far as I can see, Fred Baptiste is the only instructor offering such detailed courses out there.
By William Brent Lander on 12/12/2019
I am an experienced Python 3 programmer, and wish to push my understanding to the next level. Fred B.’s earlier two courses really helped me up my Python game quite a bit. I come into this course with high expectations, and am confident they will be met or exceeded. My biggest regret is that the instructor hasn’t continued to push out more of these wonderful classes.
By Ilya Hinzburh on 7/10/2019
Part 3 is worse than parts 1 and 2. Too much talk about the things rarely needed (more than a hour on OrderedDict!), but no explanation on things needed to everybody: regular expressions were just used two times without any explanations in the course. Still, it's a very good course, and I've learned a lot. I've just expected 3rd part to be as useful as the first two.
By David Vartanian on 5/13/2019
I definitely recommend this course to everyone willing to get deep into data types in Python. Getting deep doesn't mean watching the instructor coding. Instead, you'll get explained about the reasons of the programming language design, options comparison and their difference of efficiency, pros and cons, etc. Thanks again and I hope you're preparing more courses!







