Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 10, 2018 16:13:50

winmasta
Зарегистрирован: 2017-10-03
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать переменную из словаря с именем ключа ?

В общем раз начал тему, то сюда и напишу. Ответ на мой вопрос:

если имеем массив

res = ["a", "b"]

то выполнив

exec(res[0] + " = " + "res[1]")

будем иметь переменную a равную “b”, т.е. эквивалентно коду

a = "b"

Но нужно быть очень осторожным с функцией exec т.к. она позволяет выполнить любой код, что чревато. Поправьте если все не правильно.

Отредактировано winmasta (Янв. 10, 2018 16:14:30)

Офлайн

#2 Май 7, 2018 15:49:44

clipper1995
Зарегистрирован: 2018-03-19
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать переменную из словаря с именем ключа ?

Вот так можно использовать словари, вместо, например, IF

 def returnvalue(condition):
    return {
        "condition1": "value1", "condition2": "value2", "condition3": "value3", "condition4": "value4"
    }[condition]
# variant 1
print returnvalue("condition2")
# value2
# variant 2
retval = lambda x: {"condition1": "value1", "condition2": "value2", "condition3": "value3", "condition4": "value4"}[x]
print retval("condition3")
#value3

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version