Enrol to start learning
Reading is open to everyone. Enrolling is free, and it is what unlocks the audio lessons, practice tests and progress tracking.
20.10. Nested Lists
Interactive Audio Lesson
Unlock the classroom podcast
The transcript is above and free to read. A free account plays the conversation back.
Create a free accountToday, we're going to discuss nested lists. Has anyone ever heard of a list within a list?
I think I’ve seen that before! Like a matrix?
"Exactly! A matrix is a great example of nested lists. Let's say we want to represent grades for three students across three subjects. We can use:
Unlock the classroom podcast
The transcript is above and free to read. A free account plays the conversation back.
Create a free accountNow, how can we change a specific grade in our nested list?
Do we just overwrite it like with normal lists?
"Exactly! For instance, if student one improved and we want to change their second grade to 90, we would write:
Unlock the classroom podcast
The transcript is above and free to read. A free account plays the conversation back.
Create a free accountWho can give me a real-world scenario where nested lists might be useful?
How about data tables in a database?
Exactly! Nested lists can act like records in a database. Imagine storing customer data in a list, where each inner list represents a different customer’s details.
Can we use them for a reservation system?
"Spot on! We could have a nested list storing reservations by time slots for different days. For instance:
Overview
Short Summary
Nested lists in Python allow you to store a list within another list, enabling complex data structures like matrices.
Medium Summary
In Python, nested lists are lists that contain other lists as their elements. This structure is useful for organizing data in a hierarchical manner, such as matrices or multi-dimensional arrays, enabling easier access and manipulation of complex datasets.
Detailed Summary
Nested Lists in Python
Nested lists are a powerful feature in Python that allow the creation of a list within another list. This functionality can be used to represent complex structures like matrices, grids, or tables, enabling the organization of data in a multi-dimensional way. For instance, the following code creates a 3x3 matrix:
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]Accessing Nested Lists
To access elements in a nested list, you use multiple indices, as demonstrated below:
print(matrix[0][1]) # Output: 2In this case, matrix[0] accesses the first list, and [1] retrieves the second item from that list.
Nested lists are especially useful in various applications, including data science, where you may need to handle multi-dimensional data structures.
Audio Book
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free accountA list within a list.
Detailed Explanation
Nested lists are lists that contain other lists as their elements. This implies that a list can hold multiple levels of items, which can be particularly useful for representing complex data structures like matrices or tables. A simple example of a nested list is where you have a list of lists, such as a 2D matrix which holds rows and columns of data. In Python, you can create a nested list by simply defining a list that contains other lists.
Examples & Analogies
Imagine a classroom where each desk has students sitting at it. Each desk represents a list, while all the desks together represent a nested list of students in the classroom. Just like how you can have different groups of students at each desk, you can also have different lists contained within a single larger list.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free accountmatrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
Detailed Explanation
The example above shows a 3x3 matrix defined as a nested list in Python. Here, 'matrix' is a variable that holds a list containing three inner lists. Each inner list corresponds to a row of the matrix. You can access specific elements in this nested structure by chaining indices, where the first index specifies the row and the second index specifies the item in that row. For instance, 'matrix[0][1]' accesses the first inner list (i.e., the first row) and retrieves its second item, which is 2.
Examples & Analogies
Think of this matrix as a tic-tac-toe board. Each inner list represents a row on the board, and the elements within each row correspond to the positions on that row. Therefore, if you want to check the value in the center of the board, you would look at the middle row and column, which corresponds to 'matrix[1][1]'.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free accountprint(matrix[0][1]) # Output: 2
Detailed Explanation
Accessing elements in a nested list involves using multiple indexes. The first index selects the sub-list (or the row), and the second index selects the specific element within that sub-list (or the column). In the example provided, 'matrix[0][1]' accesses the first row of the matrix and retrieves the second element from that row, which is 2. This is similar to selecting a specific spot in a grid.
Examples & Analogies
Imagine you're looking at a map of a city grid. You might want to find a restaurant located at a specific set of coordinates (row, column). Accessing an element in a nested list is like identifying the restaurant from the street index (or row) and then specifying its position along that street (or column).
--
Key Concepts
Core takeaways and short definitions to help you quickly recall the key ideas from this section.
Nested Lists: A data structure to store lists within lists, enabling organization of complex data.
Indexing: Accessing elements through their index, particularly multiple indices in nested lists.
Matrix Representation: Use of nested lists to represent multi-dimensional data such as matrices.
Examples
Step-by-step examples to apply the section's ideas and test your understanding.
Example of a nested list representing a classroom of students and their scores:
classroom = [['Alice', [85, 90]], ['Bob', [80, 70]], ['Charlie', [88, 92]]]
Use of lists to represent a seating arrangement in a theater:
theater_seating = [['A1', 'A2', 'A3'], ['B1', 'B2'], ['C1', 'C2', 'C3', 'C4']]
Memory Aids
Interactive tools to help you remember key concepts
Stories
Memory Tools
Flash Cards
Glossary
Nested Lists
A list that contains other lists as its elements, allowing for a multi-dimensional data structure.
Matrix
A rectangular array of numbers or elements arranged in rows and columns, often represented as a nested list in Python.
Indexing
Accessing an element in a list through its position number, starting from zero.