profile

Learn Data Science from Data School 📊

Tuesday Tip #20: Dictionary comprehensions in Python 📚

Published 10 months ago • 1 min read

Hi Reader,

Tomorrow, I’m re-launching Python Essentials for Data Scientists to celebrate a HUGE course upgrade:

  • NEW: 22 additional video lessons
  • NEW: 7-part project to practice everything you’re learning

There will be a limited-time offer to celebrate the re-launch, so watch out for tomorrow’s email! 💸

I’ll be sending a few extra emails this week. I know your inbox is precious, so I’ll be giving you FREE access to 3 modules from the course! That way, you can benefit regardless of whether you choose to enroll. 💌

Thank YOU for being a valued reader! 🙏 Now let’s get to today’s tip…


👉 Tip #20: Use dictionary comprehensions in Python

Let’s say we had this list of words:

If we wanted to create a list of the word lengths, we could use a for loop:

We start with an empty list, and each time the loop runs, len(word) is appended to the list.

But as you might know, a list comprehension is even better for this scenario:

The effect is the same, but the code is much more concise.

Let’s now pretend that we wanted to create a dictionary containing both the word and its length. Once again, let’s use a for loop:

This time, we start with an empty dictionary, and each time the loop runs, a key-value pair is added to the dictionary.

You can actually convert this into a dictionary comprehension:

The structure is similar to a list comprehension, except there are curly braces { } instead of brackets [ ], and the first part of the comprehension (called the “expression”) is word:len(word) instead of just len(word).

You can read it as follows: “For each word, create a key-value pair of the word and its length.”

Visually, I really like the dictionary comprehension, since the “key:value” structure of the expression matches the way the dictionary prints out!

Let me know if you have any questions! 💬


Today’s tip is just one of the 22 NEW lessons from Python Essentials for Data Scientists!

If you want to build a solid foundation in Python and stay relevant in the world of AI, watch out for tomorrow’s email!

- Kevin

P.S. Weird Al Yankovic is human!

Do you know someone who could benefit from learning Python? Please send them to pythoncourse.io so that they can hear about the launch! 🚀

Learn Data Science from Data School 📊

Kevin Markham

Join 25,000+ aspiring Data Scientists and receive Python & Data Science tips every Tuesday!

Read more from Learn Data Science from Data School 📊

Hi Reader, Last week, I recorded the FINAL 28 LESSONS 🎉 for my upcoming course, Master Machine Learning with scikit-learn. That's why you didn't hear from me last week! 😅 I edited one of those 28 videos and posted it on YouTube. That video is today's tip, which I'll tell you about below! 👉 Tip #45: How to read the scikit-learn documentation In order to become truly proficient with scikit-learn, you need to be able to read the documentation. In this video lesson, I’ll walk you through the five...

4 days ago • 1 min read

Hi Reader, happy Tuesday! My recent tips have been rather lengthy, so I'm going to mix it up with some shorter tips (like today's). Let me know what you think! 💬 🔗 Link of the week A stealth attack came close to compromising the world's computers (The Economist) If you haven't heard about the recent "xz Utils backdoor", it's an absolutely fascinating/terrifying story! In short, a hacker (or team of hackers) spent years gaining the trust of an open-source project by making helpful...

18 days ago • 1 min read

Hi Reader, Today's tip is drawn directly from my upcoming course, Master Machine Learning with scikit-learn. You can read the tip below or watch it as a video! If you're interested in receiving more free lessons from the course (which won't be included in Tuesday Tips), you can join the waitlist by clicking here: Yes, I want more free lessons! 👉 Tip #43: Should you discretize continuous features for Machine Learning? Let's say that you're working on a supervised Machine Learning problem, and...

25 days ago • 2 min read
Share this post