Невозможно добавить новые элементы в словарь Python - PullRequest
0 голосов
/ 25 ноября 2010

Привет, я новичок в питоне. Я пытаюсь добавить разные пары значений ключа в словарь в зависимости от различных операторов if, таких как:

def getContent(file)
    for line in file:

        content = {}

        if line.startswith(titlestart):
            line = line.replace(titlestart, "")
            line = line.replace("]]></title>", "")
            content["title"] = line

        elif line.startswith(linkstart):
            line = line.replace(linkstart, "")
            line = line.replace("]]>", "")
            content["link"] = line

        elif line.startswith(pubstart):
            line = line.replace(pubstart, "")
            line = line.replace("</pubdate>", "")
            content["pubdate"] = line

    return content

print getContent(list)

Однако, это всегда возвращает пустой словарь {}.

Сначала я думал, что это проблема переменной области, но, похоже, это не так. Я чувствую, что это очень простой вопрос, но я не уверен, что Google, чтобы найти ответ.

Любая помощь будет оценена.

1 Ответ

8 голосов
/ 25 ноября 2010

Вы повторно инициализируете content для каждой строки, перемещаете инициализацию за пределы цикла:

def getContent(file)

    content = {}

    for line in file:

и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...