4.25 out of 5
600 reviews on Udemy

Python Data Structures A to Z

Learn the essentials of data structures in Python.
Joe James
18,641 students enrolled
English [Auto]
An in-depth look at native Python data structures: Strings, Lists, Tuples, Sets and Dictionaries
Introduction to Queues, Stacks, Heaps, Linked Lists, Binary Search Trees and Graphs, including concepts of how they work, pros and cons, and how to Implement and use them in Python.

This course combines conceptual lectures to explain how a data structure works, and code lectures that walk through how to implement a data structure in Python code. All the code lectures are based on Python 3 code in a Jupyter notebook. All the code and presentations are available for download on Github.

Data structures covered in this course include native Python data structures String, List, Tuple, Set, and Dictionary, as well as Stacks, Queues, Heaps, Linked Lists, Binary Search Trees, and Graphs.

Native Python Data Structures


Welcome to Python Data Structures! This brief introduction tells what topics we'll cover and why they're important.

Operations for Sequence Types (String, List, Tuple)

Learn to use common features of Sequence types (Strings, Lists and Tuples), including indexing, slicing, iterating, counting, summation, checking membership, sorting, etc.

Using Lists, Tuples, Sets and Dictionaries

Learn detailed features of Python's built-in data structures, Lists, Tuples, Sets and Dictionaries. This lesson uses a series of code examples in a Jupyter notebook that is easy to follow.

List Functions Coding Exercise
List Comprehensions

Learn to use Python's powerful List Comprehensions to create new lists.

Write a list comprehension to create the following list: [5, 10, 15, 20]
Section 1 Quiz

Test your knowledge of Python's native data structures covered in section 1.

Queues, Stacks and Heaps

Stacks in Python

Introduction to Stacks, and their key operations, push, pop and peek. This lecture also covers key use cases for stacks, and demonstrates how to implement a stack in Python.

Queues in Python

Introduction to Queues, their key operations, primary use cases, and how to implement a queue in Python.

Write a wrapper class for the Queue class, similar to what we did for Stack, but using Python deque.
Heaps in Python

This lecture explains the Heap data structure, its key operations (push, peek and pop), how the heap works, and how to implement a MaxHeap in Python.

Section 2 Quiz

Test your knowledge of queues, stacks and heaps.

Linked Lists

Introduction to Linked Lists

Learn what a Linked List is, what key operations it supports, and learn how to implement a Linked List in Python.

Circular Linked Lists

This lecture explains how Circular Link Lists work, how they differ from regular linked lists, and how to implement them in Python.

Doubly Linked Lists

Learn about Doubly (bi-directional) Linked Lists, how they work, and how to implement in Python.

Section 3 Quiz

Test what you learned about Linked Lists.

Introduction to Binary Search Trees

Intro to Binary Search Trees

Learn what trees are, key terminology related to trees, how the key operations for binary search trees work, and the advantages of trees.

Implementing a Binary Search Tree in Python

This lecture shows how to implement a binary search tree in Python.

Section 4 Quiz

A few easy questions on Trees.

Introduction to Graphs

Graphs Overview

This lecture explains what graphs are used for, the difference between directed and undirected graphs, and explains conceptually how graphs can be implemented using adjacency lists or an adjacency matrix.

Graph Implementation Using Adjacency Lists

This lecture explains how to implement a Graph data structure in Python using Adjacency Lists.

Graph Implementation Using an Adjacency Matrix

This lecture explains how to implement a Graph data structure in Python using an Adjacency Matrix.

Section 5 Quiz

Test your knowledge of the concepts of graphs. Implementation details are not covered in this quiz.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.3 out of 5
600 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


2 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion