Python 3: Deep Dive (Part 3 - Hash Maps)

20h 23m 50s
English
Paid

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.

Read more about the course

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

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.

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)
Who this course is for:
  • Python developers who want a deeper understanding of Python dictionaries and related topics

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 3rd party libraries

Watch Online Python 3: Deep Dive (Part 3 - Hash Maps)

Join premium to watch
Go to premium
# Title Duration
1 Course Overview 12:57
2 Prerequisites 07:23
3 Introduction 03:25
4 Associative Arrays 05:41
5 Hash Maps 24:13
6 Python Dictionaries 09:39
7 Python's hash() Function 08:04
8 Introduction 01:14
9 Creating Dictionaries - Lecture 13:10
10 Creating Dictionaries - Coding 24:02
11 Common Operations - Lecture 08:12
12 Common Operations - Coding 32:44
13 Dictionary Views - Lecture 10:42
14 Dictionary Views - Coding 30:13
15 Updating, Merging, and Copying - Lecture 12:21
16 Updating, Merging, and Copying - Coding 33:56
17 Custom Classes and Hashing - Lecture 20:26
18 Custom Classes and Hashing - Coding 33:55
19 Exercises 06:22
20 Solution 1 04:35
21 Solution 2 02:05
22 Solution 3 07:15
23 Solution 4 05:23
24 Introduction 01:56
25 Basic Set Theory 12:36
26 Python Sets 08:59
27 Creating Sets - Lecture 03:41
28 Creating Sets - Coding 14:46
29 Common Operations - Lecture 03:13
30 Common Operations - Coding 15:18
31 Set Operations - Lecture 08:01
32 Set Operations - Coding 20:31
33 Update Operations - Lecture 06:09
34 Update Operations - Coding 21:08
35 Copying Sets - Lecture 01:14
36 Copying Sets - Coding 08:11
37 Frozen Sets - Lecture 06:55
38 Frozen Sets - Coding 26:38
39 Dictionary Views - Lecture 09:28
40 Dictionary Views - Coding 27:59
41 Project 1 - Goals 05:31
42 Project 1 - Solution 49:38
43 Introduction 04:30
44 Pickling - Lecture 05:58
45 Pickling - Coding 28:48
46 JSON Serialization - Lecture 07:23
47 JSON Serialization - Coding 22:30
48 Custom JSON Encoding - Lecture 02:31
49 Custom JSON Encoding - Coding 37:37
50 Using JSONEncoder - Lecture 11:37
51 Using JSONEncoder - Coding 34:01
52 Custom JSON Decoding - Lecture 16:36
53 Custom JSON Decoding - Coding 51:59
54 Using JSONDecoder - Lecture 01:30
55 Using JSONDecoder - Coding 41:01
56 JSON Schema 26:07
57 Marshmallow 33:37
58 PyYaml 18:17
59 Serpy 08:57
60 Exercises 03:49
61 Solution 1 15:22
62 Solution 2 21:02
63 Solution 3 17:05
64 Introduction 02:03
65 DefaultDict - Lecture 06:34
66 DefaultDict - Coding 30:47
67 OrderedDict - Lecture 03:41
68 OrderedDict - Coding 24:23
69 OrderedDict and Python 3.6 Dicts 31:45
70 Counter - Lecture 05:02
71 Counter - Coding 43:45
72 ChainMap - Lecture 11:09
73 ChainMap - Coding 22:45
74 UserDict - Lecture 05:35
75 UserDict - Coding 25:39
76 Exercises 05:35
77 Solution 1 05:53
78 Solution 2 04:38
79 Solution 3 14:30

Similar courses to Python 3: Deep Dive (Part 3 - Hash Maps)

Python Data Analysis & Visualization Masterclass

Python Data Analysis & Visualization Masterclassudemy

Category: Preparing for an interview, Python
Duration 20 hours 17 minutes 23 seconds
Developing LLM App Frontends with Streamlit

Developing LLM App Frontends with Streamlitzerotomastery.io

Category: Python, Other (Frontend)
Duration 1 hour 43 minutes 52 seconds
The Ultimate Flask Course

The Ultimate Flask Courseudemy

Category: Python
Duration 28 hours 4 minutes 28 seconds
Fullstack Flask: Build a Complete SaaS App with Flask

Fullstack Flask: Build a Complete SaaS App with Flaskfullstack.io

Category: Python
Duration 7 hours 33 minutes 4 seconds
Secure APIs with FastAPI and the Microsoft Identity Platform

Secure APIs with FastAPI and the Microsoft Identity PlatformTalkpython

Category: Python
Duration 1 hour 45 minutes 17 seconds
Responsive LLM Applications with Server-Sent Events

Responsive LLM Applications with Server-Sent Eventsfullstack.io

Category: TypeScript, React.js, Python
Duration 1 hour 18 minutes 18 seconds
Machine Learning A-Z : Become Kaggle Master

Machine Learning A-Z : Become Kaggle Masterudemy

Category: Python, Data processing and analysis
Duration 36 hours 23 minutes 54 seconds
OpenAI API with Python Bootcamp: ChatGPT API, GPT-4, DALL·E

OpenAI API with Python Bootcamp: ChatGPT API, GPT-4, DALL·Eudemy

Category: Python, ChatGPT
Duration 9 hours 8 minutes 16 seconds
Python Jumpstart by Building 10 Apps

Python Jumpstart by Building 10 AppsTalkpython

Category: Python
Duration 7 hours 8 minutes 59 seconds
Web Developer Bootcamp with Flask and Python in 2022

Web Developer Bootcamp with Flask and Python in 2022udemy

Category: HTML, CSS, Python
Duration 19 hours 57 minutes 43 seconds