ValueError: need more than 0 values to unpack (python lists)

ValueError: need more than 0 values to unpack (python lists)

You are trying to use tuple assignment:

x_list, ord_list = []

you probably meant to use multiple assignment:

x_list = ord_list = []

which will not do what you expect it to; use the following instead:

x_list, ord_list = [], []

or, best still:

x_list = []
ord_list = []

When using a comma-separated list of variable names, Python expects there to be a sequence of expressions on the right-hand side that matches the number variables; the following would be legal too:

two_lists = ([], [])
x_list, ord_list = two_lists

This is called tuple unpacking. If, on the other hand, you tried to use multiple assignment with one empty list literal (x_list = ord_list = []) then both x_list and ord_list would be pointing to the same list and any changes made through one variable will be visible on the other variable:

>>> x_list = ord_list = []
>>> x_list.append(1)
>>> x_list
[1]
>>> ord_list
[1]

Better keep things crystal clear and use two separate assignments, giving each variable their own empty list.

Change the line

x_list, ord_list = []

to

x_list, ord_list = [], []

ValueError: need more than 0 values to unpack (python lists)

return type of function does not match with values expected in function…

check the number of variables returned from function and variables you are expecting

Leave a Reply

Your email address will not be published. Required fields are marked *