Форум сайта python.su
Добрый день!
Получаю ошибку UnboundLocalError: local variable referenced before assignment при добавлении ключей, значений в словарь инициализированный вне функции
Сам код находится тут:
https://github.com/patsevanton/postgrestune/blob/master/advice.py
Что может быть? Как лучше поправить код?
Вроде инициализирую словарь вне функций, но не могу в него добавить ключ, значение.
Офлайн
У вас две переменные priority_advice — первая глобальная, определяется в 7 строке кода, а вторая — локальная, определяется в 25 строке кода:
for category,priority_advice in advices.iteritems():
Офлайн
ramiСпасибо.
Кстати, в последних версиях Python у dict нет метода iteritems(), есть items()
Офлайн
Imardenобычно никак, потому как никому нафик не надо. Но если очень хочеться то либо пишеться два кода под разные версии либо можно использовать six https://pythonhosted.org/six/
И как обычно делают обратную совместимость с Python например версии 2.6
import six for item in six.iteritems(dictionary): # code here
[code python][/code]
Отредактировано PEHDOM (Июнь 17, 2018 23:56:19)
Офлайн