DEV Community

Vladimir Ignatev
Vladimir Ignatev

Posted on โ€ข Edited on

๐Ÿค” Python Quiz: Snake Comprehensions ๐Ÿ

Follow me to learn ๐Ÿ Python in 5-minute a day fun quizzes! Find previous quiz here.

Did you know, that questions about List Comprehensions in Python are among the most popular interview question? You'll meet list comprehensions question in every test of Python proficiency no matter who you are or gonna be: engineer or data scientist!

PEP 202, titled "List Comprehensions," is a significant PEP that introduced a concise and efficient way to create lists in Python. Authored by Barry Warsaw, this PEP proposed a syntax for list comprehensions that drew inspiration from similar constructs in other programming languages like Haskell and SETL. This feature quickly became one of the most beloved aspects of the Python language for its elegance and utility, profoundly influencing Python's approach to iterable transformations and functional-style programming.

Quiz

Which code sample is done right when using list comprehensions in Python?

Sample 1

numbers = [1, 2, 3, 4, 5]
squared_numbers = [for number in numbers: number ** 2]
print(squared_numbers)
Enter fullscreen mode Exit fullscreen mode

Sample 2

numbers = [1, 2, 3, 4, 5]
squared_numbers = [number ** 2 for number in numbers]
print(squared_numbers)
Enter fullscreen mode Exit fullscreen mode

Post your answer in the comments! 0 if you think that Sample 1 is correct, 1 otherwise. As usually, the correct answer will be explained in the first comment.

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post โ†’

Top comments (1)

Collapse
 
vladignatyev profile image
Vladimir Ignatev โ€ข

The correct answer is Sample 2.

List comprehensions are a concise way to create lists in Python, as described in PEP 202. The syntax generally follows the form [expression for item in iterable]. In Sample 2, we correctly use list comprehension to create a list of squared numbers. We define the expression number ** 2 and iterate over the numbers list.

Sample 1, however, attempts to use a syntax resembling a for loop within the list comprehension, which is syntactically incorrect. The for ... in ...: syntax is not valid within list comprehensions, leading to a syntax error. The correct way, as shown in Sample 2, excludes the colon and arranges the expression before the for keyword.

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