Неожиданное изменение значений списка

Это мой класс:

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

берглэри

землетрясение

Тревога

В чем дело? Почему все предыдущие записи в списке меняются?

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос