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

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

2 ответов


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

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

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

func(type='Event')

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

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

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

к твоему сведению!--12-->

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

func(*['one', 'two']) это то же самое, что func('one', 'two')