Python 3: Deep Dive (Part 3 - Hash Maps)
- Description
- Curriculum
- FAQ
- Reviews
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, Marshmallow, 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.
-
8Introduction
-
9Creating Dictionaries - Lecture
-
10Creating Dictionaries - Coding
-
11Common Operations - Lecture
-
12Common Operations - Coding
-
13Dictionary Views - Lecture
-
14Dictionary Views - Coding
-
15Updating, Merging, and Copying - Lecture
-
16Updating, Merging, and Copying - Coding
-
17Custom Classes and Hashing - Lecture
-
18Custom Classes and Hashing - Coding
-
24Introduction
-
25Basic Set Theory
-
26Python Sets
-
27Creating Sets - Lecture
-
28Creating Sets - Coding
-
29Common Operations - Lecture
-
30Common Operations - Coding
-
31Set Operations - Lecture
-
32Set Operations - Coding
-
33Update Operations - Lecture
-
34Update Operations - Coding
-
35Copying Sets - Lecture
-
36Copying Sets - Coding
-
37Frozen Sets - Lecture
-
38Frozen Sets - Coding
-
39Dictionary Views - Lecture
-
40Dictionary Views - Coding
-
43Introduction
-
44Pickling - Lecture
-
45Pickling - Coding
-
46JSON Serialization - Lecture
-
47JSON Serialization - Coding
-
48Custom JSON Encoding - Lecture
-
49Custom JSON Encoding - Coding
-
50Using JSONEncoder - Lecture
-
51Using JSONEncoder - Coding
-
52Custom JSON Decoding - Lecture
-
53Custom JSON Decoding - Coding
-
54Using JSONDecoder - Lecture
-
55Using JSONDecoder - Coding
-
56JSON Schema
-
57Marshmallow
-
58PyYaml
-
59Serpy
Social Network