Неожиданное изменение значений списка
Это мой класс:
class variable(object):
def __init__(self, name, name_alias, parents,values,table):
#name of the variable
self.name = ""
это функция с проблемами:
f - это файл .txt (открывается в «основной функции»)
def read_problem(f):
list_of_variables=[]
entry=0;
for line in f:
words = line.split()
#enters only if it's not a comment
if (words[0]!='#'):
if (words[0]=="VAR"):
x=variable;
elif (words[0]=="name"):
x.name=words[1]
list_of_variables.append(x)
for i in range(len(list_of_variables)):
print(list_of_variables[i].name)
return
мой файл .txt:
VAR
name MaryCalls
VAR
name JohnCalls
VAR
name Burglary
VAR
name Earthquake
VAR
name Alarm
Что я получаю в этом отпечатке (и, следовательно, в списке):
Тревога
Тревога
Тревога
Тревога
Тревога
Но я хотел иметь:
MaryCalls
JohnCalls
берглэри
землетрясение
Тревога
В чем дело? Почему все предыдущие записи в списке меняются?
Спасибо!