Udemy

Python 3: Deep Dive (Part 3 - Dictionaries, Sets, JSON)

Enroll Now
  • 31,092 Students
  • Updated 12/2023
4.9
(1,919 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
21 Hour(s) 57 Minute(s)
Language
English
Taught by
Dr. Fred Baptiste
Rating
4.9
(1,919 Ratings)
1 views

Course Overview

Python 3: Deep Dive (Part 3 - Dictionaries, Sets, JSON)

Dictionaries, Sets, Related Data Structures, Serialization/Deserialization

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.

Course Content

  • 10 section(s)
  • 85 lecture(s)
  • Section 1 Introduction
  • Section 2 Associative Arrays - Theory!
  • Section 3 Dictionaries
  • Section 4 Coding Exercises
  • Section 5 Sets
  • Section 6 Project 1
  • Section 7 Serialization and Deserialization
  • Section 8 Coding Exercises
  • Section 9 Specialized Dictionaries
  • Section 10 Coding Exercises

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


Reviews

  • D
    Dariusz Wojcik
    5.0

    Well executed teaching witch interactive coding and explanations admiring to current situation in the evolving program.

  • S
    Sai Zhang
    5.0

    I have gone through also the first 2 courses from Dr.Fred, all of them are high quality content, really learnt a lot from these courses.

  • D
    D. P.
    5.0

    This 4 part course is such a gem! This course along with the Fluent Python book is a royal road to becoming an expert Python programmer.

  • J
    Jorge B Jiménez
    5.0

    An excellent continuation of the series to considerably expand knowledge of this universal language.

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed