sortarage
@sortarage
Я тучка-тучка-тучка, я вовсе не медведь

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

Доброе утро.

Суть: Нужна возможость использовать функцию как самостоятельно (просто передать в нее параметры), так и внутри большой функции (передать в большую функцию список словарей, чтобы рабочая функция "съела" ключи как параметры).

Вопрос: Есть ли возможность передать в функцию список словарей, чтобы она нашла соответствия своих параметров в ключах словаря? Или же, обработать словарь перед подачей в функцию, чтобы он передался не в формате "ключ:значение", а формате "ключ=значение"?

Пример кода:
subparams = [{
    'param1': 12,
    'param2': 'smth'
},
{
    'param1': 15,
    'param3': 2535
}]

# Большая функция
def main_function(main_param, subparams):

    # Тут что-то происходит

    # Прохожусь по словарям в списке
    for sub in subparams:
        # Передаю словарь в функцию
        subfunction(sub)

    # Что-то возвращается

# Рабочая функция
def subfunction(param1=1, param2='', param3=1000):

    # Тут тоже что-то происходит и возвращается

Если есть более адекватное решение или я упускаю какую-то важную деталь - буду благодарен за любой совет :)
  • Вопрос задан
  • 556 просмотров
Решения вопроса 1
sortarage
@sortarage Автор вопроса
Я тучка-тучка-тучка, я вовсе не медведь
Пока писал вопрос, подумал с другого конца и нашел решение :)

d = dict(p1=1, p2=2)
def f2(p1,p2):
    print p1, p2
f2(**d)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы