Learn Python lists, tuples, sets and dictionaries with data science examples, performance considerations and common mistakes. Use the dedicated Python containers dataset and notebook to reproduce the lesson rather than reading it passively. This page targets the practical intent behind Python containers, not repetition of the phrase itself.
Editorial note: Publication metadata for Python Data Structures is intentionally unset until this URL is actually released; the lesson already includes its own examples, CSV and notebook.
Build the mental model behind Python containers
When cleaning a survey dataset, a set can identify unique response categories, a dictionary can map abbreviations to full labels, a list can hold selected columns and a tuple can store an immutable coordinate pair.
- Lists preserve order and are mutable; tuples are ordered but immutable; sets keep unique values; dictionaries map keys to values.
- Choose a data structure by the operation you need most often, not by habit.
- Dictionary lookups are useful for mappings, while sets are efficient for membership tests and deduplication.
- Mutable containers can change in place, so copying behavior matters when the same object is shared across functions.
Run small examples and inspect every intermediate object
For Python containers, predict one visible result before each snippet runs—a row count, shape, statistic, ranking or error pattern—then compare it with the printed checkpoint.
# Python containers · example 1
cities = ['Delhi', 'Mumbai', 'Delhi']
unique_cities = set(cities)
labels = {'M': 'Male', 'F': 'Female'}
columns = ['age', 'income', 'city']
point = (23.1, 72.6)
print(unique_cities, labels['F'])Python containers checkpoint 1: Run the cell and inspect the printed values before changing anything.
# Python containers · example 2
import pandas as pd
df = pd.read_csv('practice.csv')
print(df.shape)
print(df.dtypes)
print(df.head(3).to_string(index=False))Python containers checkpoint 2: (30, 5) Column types are printed, followed by the first three rows.
# Python containers · example 3
missing = df.isna().sum().sort_values(ascending=False)
print(missing[missing.gt(0)])Python containers checkpoint 3: Only columns with at least one missing value are listed.
# Python containers · example 4
summary = df.select_dtypes('number').agg(['count','mean','median','min','max']).T
print(summary.round(2))Python containers checkpoint 4: A compact numeric summary appears with one row per numeric column.
# Python containers · example 5
test = df.copy()
if len(test):
test.iloc[0, 0] = test.iloc[0, 0]
print('rows:', len(test), 'duplicates:', test.duplicated().sum())Python containers checkpoint 5: The row count and duplicate count make the check visible instead of implicit.
Debug shape, dtype and missing-value problems
Dictionary lookups are useful for mappings, while sets are efficient for membership tests and deduplication.
Mutable containers can change in place, so copying behavior matters when the same object is shared across functions.
Self-check with answers
For Python containers, what result should you be able to explain without the code?
Lists preserve order and are mutable; tuples are ordered but immutable; sets keep unique values; dictionaries map keys to values.
Which assumption matters most in this Python containers exercise?
Dictionary lookups are useful for mappings, while sets are efficient for membership tests and deduplication.
What failure mode would make this Python containers result untrustworthy?
Mutable containers can change in place, so copying behavior matters when the same object is shared across functions.
Turn the lesson into a reusable notebook
Try it yourself workspace
Edit this Python containers starter, copy it, and run it in the downloadable notebook or your local Jupyter environment.
Questions specific to this lesson
What should I inspect before using Python containers?
Choose a data structure by the operation you need most often, not by habit.
How do I debug a wrong result for Python containers?
Print shape, dtypes and a few representative rows after each transformation. That usually reveals whether the issue is selection, missing data, joins or implicit type conversion.
Should I prefer a one-line expression or several steps for Python containers?
Prefer the version you can test and explain. Compact code is useful only when the intermediate assumptions remain visible.
How can I practise this lesson for Python containers?
Download the page-specific CSV and notebook, reproduce the examples, then add one column or edge case and document how the output changes.
Primary references and further reading
For Python containers, use these primary references when exact syntax, defaults or formal definitions matter beyond the examples on this page.





















































































































































