Looks neat, right? But letβs slow down.
The
The starred variable always gets a list, and it can be empty so plan accordingly when unpacking, especially in function arguments or loops.
For example: Consider the following code
No error, but
The
*b
syntax is called extended iterable unpacking. It grabs everything in the middle of the list, leaving the first item (a) and the last (c) outside the star. This pattern is super handy, but can also behave unexpectedly if you assume itβll grab just one item or not consider the structure of the data.The starred variable always gets a list, and it can be empty so plan accordingly when unpacking, especially in function arguments or loops.
For example: Consider the following code
x, *y = [42]
print(y) # []
No error, but
y
is just an empty list! Unpacking doesnβt always fill every name the way you might guess.β€1π1
Given the above Python code, what will be printed?
Anonymous Quiz
10%
"hello"
75%
"olleh"
10%
"" (empty string)
5%
Error
β€1