Преобразования в Python dict на kwargs?


Я хочу построить запрос для sunburnt (интерфейс solr) с использованием наследования классов и, следовательно, добавления пар ключ - значение вместе. Интерфейс sunburnt принимает аргументы ключевых слов. Как я могу преобразовать дикт ({'type':'Event'}) в аргументы ключевого слова (type='Event')?

2 218

2 ответа:

использовать двойной звезды (Он же двойной восклицательный знак?) оператор:

func(**{'type':'Event'})

эквивалентно

func(type='Event')

** оператор был бы полезен здесь.

** оператор распакует элементы dict и таким образом **{'type':'Event'} будет рассматриваться как type='Event'

func(**{'type':'Event'}) такой же, как func(type='Event') т. е. элементы dict будут преобразованы в keyword arguments.

FYI

* распакует элементы списка и они будут рассматриваться как positional arguments.

func(*['one', 'two']) такой же, как func('one', 'two')