Dictionaries are ubiquitous in Python. Classes are essentially dictionaries, modules are dictionaries, namespaces are dictionaries File size: 9.68 GB
Python 3: Deep Dive (Part 3 – Hash Maps)
What you’ll 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
Get immediately download Python 3: Deep Dive (Part 3 – Hash Maps)
3rd party libraries
Course content
Expand all 79 lectures20:22:29
–Introduction
20:18
Course Overview
Preview
12:56
Prerequisites
Preview
07:22
–Associative Arrays – Theory!
50:56
Introduction
Preview
03:24
Associative Arrays
05:40
Hash Maps
24:11
Python Dictionaries
09:38
Python’s hash() Function
08:03
–Dictionaries
03:40:43
Introduction
01:13
Creating Dictionaries – Lecture
13:08
Creating Dictionaries – Coding
24:01
Common Operations – Lecture
08:11
Common Operations – Coding
32:43
Dictionary Views – Lecture
10:41
Dictionary Views – Coding
30:12
Updating, Merging, and Copying – Lecture
12:20
Updating, Merging, and Copying – Coding
33:55
Custom Classes and Hashing – Lecture
20:25
Custom Classes and Hashing – Coding
33:54
–Coding Exercises
25:35
Exercises
06:21
Solution 1
04:34
Solution 2
02:04
Solution 3
07:14
Solution 4
05:22
–Sets
03:16:26
Introduction
01:55
Basic Set Theory
12:35
Python Sets
08:58
Creating Sets – Lecture
03:40
Creating Sets – Coding
14:45
Common Operations – Lecture
03:12
Common Operations – Coding
15:17
Set Operations – Lecture
08:00
Set Operations – Coding
20:30
Update Operations – Lecture
06:08
Update Operations – Coding
21:07
Copying Sets – Lecture
01:13
Copying Sets – Coding
08:10
Frozen Sets – Lecture
06:54
Frozen Sets – Coding
26:37
Dictionary Views – Lecture
09:27
Dictionary Views – Coding
27:58
–Project 1
55:07
Project 1 – Goals
05:30
Project 1 – Solution
49:37
–Serialization and Deserialization
05:52:42
Introduction
04:29
Pickling – Lecture
05:57
Pickling – Coding
28:47
JSON Serialization – Lecture
07:22
JSON Serialization – Coding
22:29
Custom JSON Encoding – Lecture
02:30
Custom JSON Encoding – Coding
37:36
Using JSONEncoder – Lecture
11:36
Using JSONEncoder – Coding
34:00
Custom JSON Decoding – Lecture
16:35
Custom JSON Decoding – Coding
51:58
Using JSONDecoder – Lecture
01:29
Using JSONDecoder – Coding
41:00
JSON Schema
Preview
26:06
Marshmallow
33:36
PyYaml
18:16
Serpy
08:56
–Coding Exercises
57:14
Exercises
03:48
Solution 1
15:21
Solution 2
21:01
Solution 3
17:04
–Specialized Dictionaries
03:32:56
Introduction
02:02
DefaultDict – Lecture
06:33
DefaultDict – Coding
30:46
OrderedDict – Lecture
03:40
OrderedDict – Coding
24:22
OrderedDict and Python 3.6 Dicts
31:44
Counter – Lecture
05:01
Counter – Coding
43:44
ChainMap – Lecture
11:08
ChainMap – Coding
Preview
22:44
UserDict – Lecture
05:34
UserDict – Coding
25:38
–Coding Exercises
30:32
Exercises
05:34
Solution 1
05:52
Solution 2
04:37
Solution 3
14:29
Requirements
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)
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
Get immediately download Python 3: Deep Dive (Part 3 – Hash Maps)
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.
Who this course is for:
Python developers who want a deeper understanding of Python dictionaries and related topics