Skip to main content
Xenors Xenors
XENORS
Home › Data Science › Python containers: Lists, Tuples, Sets & Dicts
Module lesson · 13 of 45

Python Data Structures: Lists, Tuples, Sets & Dicts

Learn Python lists, tuples, sets and dictionaries with data science examples, performance considerations and common mistakes.

By Ashok Kumar YadavHands-on examples + practiceDataset + notebook included
Python Data Structures: Lists, Tuples, Sets & Dicts

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.

Example 1 · Baseline example
# 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'])
Output / checkpoint
Python containers checkpoint 1: Run the cell and inspect the printed values before changing anything.
Example 2 · Inspect data before transforming it
# 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))
Output / checkpoint
Python containers checkpoint 2: (30, 5)
Column types are printed, followed by the first three rows.
Example 3 · Check missing values explicitly
# Python containers · example 3
missing = df.isna().sum().sort_values(ascending=False)
print(missing[missing.gt(0)])
Output / checkpoint
Python containers checkpoint 3: Only columns with at least one missing value are listed.
Example 4 · Create a reproducible summary
# Python containers · example 4
summary = df.select_dtypes('number').agg(['count','mean','median','min','max']).T
print(summary.round(2))
Output / checkpoint
Python containers checkpoint 4: A compact numeric summary appears with one row per numeric column.
Example 5 · Test one edge case
# 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())
Output / checkpoint
Python containers checkpoint 5: The row count and duplicate count make the check visible instead of implicit.

Debug shape, dtype and missing-value problems

Verification habit

Dictionary lookups are useful for mappings, while sets are efficient for membership tests and deduplication.

Failure mode to watch

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.

AK
Written by Ashok Kumar Yadav

Ashok Kumar Yadav writes Xenors tutorials on applied AI, programming and data workflows. This Python containers lesson is designed as a reproducible learning exercise rather than a keyword-first article.

GitHub · LinkedIn

Continue exploring