Python: для распаковки нужно более 1 значения - PullRequest
2 голосов
/ 09 апреля 2010

Что я делаю не так, чтобы получить эту ошибку?

    replacements = {}
    replacements["**"] = ("<strong>", "</strong>")
    replacements["__"] = ("<em>", "</em>")
    replacements["--"] = ("<blink>", "</blink>")
    replacements["=="] = ("<marquee>", "</marquee>")
    replacements["@@"] = ("<code>", "</code>")

    for delimiter, (open_tag, close_tag) in replacements: # error here
        message = self.replaceFormatting(delimiter, message, open_tag, close_tag); 

Ошибка:

Traceback (последний последний вызов):
Файл "", строка 1, в для doot, (a, b) в заменах: ValueError: нужно более 1 значения для распаковать

Все кортежи значений имеют два значения. Правильно?

Ответы [ 2 ]

10 голосов
/ 09 апреля 2010

Должно быть:

for delimiter, (open_tag, close_tag) in replacements.iteritems(): # or .items() in py3k
3 голосов
/ 09 апреля 2010

Я думаю, вам нужно позвонить .items(), как в третьем примере по этой ссылке

for delimiter, (open_tag, close_tag) in replacements.items(): # error here
    message = self.replaceFormatting(delimiter, message, open_tag, close_tag)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...