Learn Data Science from Data School 📊

Tuesday Tip #39: Six quick Python tricks 🎯

Published 2 months ago • 2 min read

Hi Reader,

There's a gift for you somewhere in this email... just look for the 🎁 emoji!

👉 Tip #39: Six quick Python tricks

Here's what I'll cover below:

  1. Return the number of unique values
  2. Count values with Counter
  3. Better debugging with f-strings
  4. Return multiple values from a function
  5. Count while looping
  6. Create a dictionary with a comprehension

Let's get started! 👇

1️⃣ Return the number of unique values

Need to know the number of unique values in an iterable? Convert it to a set and check the length:

A set is a collection of values (like a list), except it can't contain any duplicate values:

You can use this trick with any iterable, including strings:

2️⃣ Count values with Counter

Need to know how many times each letter appears? Use the Counter class:

Counter objects act like dictionaries, which means that if we want to know how many times 'a' appears, we pass it the 'a' key:

Counters have useful methods like most_common, which returns the specified number of most common values:

3️⃣ Better debugging with f-strings

You've probably used f-strings for substitution:

But f-strings can also help with debugging!

Normally you might print out variables within a function to check that it's working as expected:

But with self-documenting expressions (new in Python 3.8), the output is more useful:

The secret is to end each replacement field with an equals sign!

4️⃣ Return multiple values from a function

Let's say that your function needs to return multiple values:

The function returns a tuple:

But if you want those return values as separate objects, you can use multiple assignment (also known as tuple unpacking):

5️⃣ Count while looping

Let's say that you need to loop through a list:

Sometimes you need to keep track of the index while looping. Don't do this:

Use enumerate instead, which keeps track of the index for you:

It actually generates a tuple, which we're unpacking into i and word!

6️⃣ Create a dictionary with a comprehension

List comprehensions are useful all over the place in Python:

By slightly tweaking the syntax, you can write a dictionary comprehension instead:

📈 Going further

Many of these tricks are taken from my online course, Python Essentials for Data Scientists:

  • The first half of the course will help you build a solid foundation in Python's data structures, operators, functions, control flow, and best practices.
  • The second half of the course will challenge you with a 7-part project, in which you'll practice everything you've learned plus dive deeper into intermediate Python topics.

🎁 Just for fun, I'm giving readers of Tuesday Tips a 25% discount on this course for the next week. Use code TUESDAY25 at checkout! 🎁

👋 Until next time

Did you like this week’s tip? Please send it to a friend or share this link on social. It really helps me out! 🙌

See you next Tuesday!

- Kevin

P.S. Uber's new "Save with Ads" option (parody) 😂

Did someone AWESOME forward you this email? Sign up here to receive Data Science tips every week!

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, 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...

13 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...

20 days ago • 2 min read

Hi Reader, I'm so excited to share this week's tip with you! It has been in my head for months, but I finally put it in writing ✍️ It's longer than usual, so if you prefer, you can read it as a blog post instead: Jupyter & IPython terminology explained 🔗 Link of the week Python Problem-Solving Bootcamp (April 1-21) Want to improve your Python skills quickly? There's no better way than solving problems, reviewing alternative solutions, and exchanging ideas with others. That's the idea behind...

about 1 month ago • 3 min read
Share this post