Ответ 1
Вы пытаетесь использовать назначение кортежей:
x_list, ord_list = []
вы, вероятно, хотели использовать несколько назначений:
x_list = ord_list = []
который не будет делать то, что вы ожидаете; используйте вместо этого следующее:
x_list, ord_list = [], []
или, лучше всего:
x_list = []
ord_list = []
При использовании списка имен переменных, разделенных запятыми, Python ожидает, что будет последовательность выражений в правой части, которая соответствует числовым переменным; следующее было бы законным:
two_lists = ([], [])
x_list, ord_list = two_lists
Это называется распаковкой. Если, с другой стороны, вы пытались использовать несколько присваиваний с одним пустым литералом списка (x_list = ord_list = []
), то оба x_list
и ord_list
будут указывать на один и тот же список, и любые изменения, сделанные с помощью одной переменной, будут видны на другая переменная:
>>> x_list = ord_list = []
>>> x_list.append(1)
>>> x_list
[1]
>>> ord_list
[1]
Лучше держать вещи кристально чистыми и использовать два отдельных назначения, предоставляя каждой переменной свой собственный пустой список.