Featured resource
2025 Tech Upskilling Playbook
Tech Upskilling Playbook

Build future-ready tech teams and hit key business milestones with seven proven plays from industry leaders.

Check it out
  • Lab
    • Libraries: If you want this lab, consider one of these libraries.
    • Core Tech
Labs

Build a Personal Budget Report with Python Collections and Iterables

In this code lab, you will create different budget reports for your spending data using Python collections, iterables, and iterators.

Lab platform
Lab Info
Level
Intermediate
Last updated
Jul 29, 2025
Duration
2h 0m

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
Table of Contents
  1. Challenge

    Count Expenses by Category

    In this module we will read in our spending data and display the categories with the most purchases in a graph. ### Solution The solution can be found in the solution directory.

  2. Challenge

    Create the BudgetList class to Display Budget Overages

    To track expenses that are within budget, we're going to create a class that has one list for in-budget expenses and another list for overages. We'll also make an iterator for this class so that it can seamlessly iterate over both lists.

  3. Challenge

    Finish Making BudgetList an Iterable

    In this module we'll finish creating the BudgetList class to add an iterator that is able to loop through both the expenses and overages list.

  4. Challenge

    Categorizing expenses into separate sets

    In this module we're going to categorize our spending data into different sets. This will set everything up so that we can chart a comparison between different spending categories in the next module.

  5. Challenge

    Timing Set Comprehension and Plotting Categories

    In this module, we will use the Python timeit module to time whether categorizing expenses was faster using a for loop or set comprehension. Then we will create a pie chart that compares the different spending categories.

About the author

Sarah just finished her PhD in Computer Science and in that process found two loves: inventing things and teaching. Working at Pluralsight allows her to do what she loves and work with some amazing people.

Real skill practice before real-world application

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Learn by doing

Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.

Follow your guide

All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.

Turn time into mastery

On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.

Get started with Pluralsight