Convertir dict de Python a kwargs?


Quiero construir una consulta para sunburnt(interfaz solr) usando herencia de clases y, por lo tanto, agregando pares clave - valor juntos. La interfaz sunburnt toma argumentos de palabras clave. ¿Cómo puedo transformar un dict ({'type':'Event'}) en argumentos de palabras clave (type='Event')?

Author: plaes, 2011-04-19

2 answers

Use el doble estrella (también conocido como doble splat?) operador:

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

Es equivalente a

func(type='Event')
 384
Author: unutbu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:33:26

** operador sería útil aquí.

** operator desempaquetará los elementos dict y por lo tanto **{'type':'Event'} será tratado como type='Event'

func(**{'type':'Event'}) es lo mismo que func(type='Event') es decir, los elementos dict se convertirían a keyword arguments.

FYI

* desempaquetará los elementos de la lista y serán tratados como positional arguments.

func(*['one', 'two']) es lo mismo que func('one', 'two')

 0
Author: Vishvajit Pathak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-08 19:38:01