DEV Community

Cover image for “Making a list, checking it twice……cause man these are confusing”: ‘twas the night before list comprehensions....
Jessica Papa
Jessica Papa

Posted on

2 1

“Making a list, checking it twice……cause man these are confusing”: ‘twas the night before list comprehensions....

So, the day before my code challenge do-over, I was having a hard time wrapping my head around Python and object relationships. I was really hoping for that magical moment when it would all just click. During our practice challenge, I totally thought I blew it, but then when we went over it, something just clicked in my brain and suddenly I got it!

So, I had this moment where everything just made sense, but honestly, I'm still struggling with this issue. But, I figured writing about it would not only help me, but maybe others going through the same thing too. Life can be a crazy ride, am I right?

Let's dig a little deeper into this topic!

Image description

Of course, we know our comfy friend the for loop, it's safe and easier to understand when you're first learning Python!

Example:

the_list = []
        for concert in Concert.all:
            if concert.venue == self:
                the_list.append( concert )
         return the_list
Enter fullscreen mode Exit fullscreen mode

Code breakdown:

the_list = []: This creates an empty list called the_list that will be used to store the concerts related with the venue.

for concert in Concert.all: Concert.all is a list (or iterable) that has all available concerts. The loop iterates through each concert in this list.

if concert.venue == self: This line checks if the venue of the current concert matches the given self, where self is referring to the venue object within the context of a method or class.

the_list.append(concert): If the venue matches, the concert is appended to the the_list.

After the loop is completed, the function returns the_list, which contains all the concerts associated with the given venue.

Yay, for loops!

So, have you ever heard of list comprehensions? They're actually a really handy tool in Python that can make your code a lot more efficient when working with lists.

Basically, you can use them to create a new list by applying an expression to each item in an existing list (or other iterable). This makes your code shorter and easier to read - pretty cool, right?

Example:

return [c for c in Concert.all if c.venue == self]
Enter fullscreen mode Exit fullscreen mode

Code breakdown:

return: This indicates that the function will return a list.

c for c in Concert.all: This is the list comprehension syntax. The first c represents the whole concert instance that will go in your new list. The second c iterates through each c (concert) in Concert.all, which contains all available concerts.

if c.venue == self: The list comprehension includes c in the result only if the venue attribute of the c (concert) matches the value of self.

selfis referring to the venue object within the context of a method or class, representing the current venue.

I gotta give a shoutout to my teacher Adam for helping me have that "a-ha" moment cause this breakdown really helped me understand!

Image description

Remember:

When that imposter syndrome hits, think back on how far you have come!

Did you know what you know now a week ago?!

YOU CAN AND YOU ARE DOING THIS! BE KIND TO YOURSELF!

Image description

Happy coding!

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs