Assume line
is: "Chicago Sun 01:52"
.
What does *a, b, c = line.split()
do? In particular, what is the significance of the asterisk?
Edit: Upon testing it, it seems like "Chicago"
, "Sun"
and "01:52"
are all stored in a
, b
and c
. The asterisk seems to lead to "Chicago"
being stored in a as the first element of a list. So, we have a = ["Chicago"]
, b = "Sun"
and c = "01:52"
. Could anyone point to material on the functionality of the asterisk operator in this situation?
Splitting that text by whitespace will give you:
Now, this is a 3 element
list
. The assignment will take the last two elements of the output and assign them tob
andc
respectively. The*
, or the splat operator will then pass the remainder of that list toa
, and soa
is a list of elements. In this case,a
is a single-element list.Look at PEP 3132 and Where are python's splat operators * and ** valid? for more information on the splat operators, how they work and where they're applicable.