en Python, escribí esta función para enseñar a mí mismo cómo **kwargs
obras en Python:En Python, ¿qué determina el orden al iterar a través de kwargs?
def fxn(a1, **kwargs):
print a1
for k in kwargs:
print k, " : ", kwargs[k]
Entonces llamaron a esta función con
fxn(3, a2=2, a3=3, a4=4)
Aquí era la salida que mi intérprete de Python impreso:
3
a3 : 3
a2 : 2
a4 : 4
¿Por qué el bucle for imprime el valor de a3 antes que el de a2 a pesar de que primero alimenté a2 en mi función?
Véase mi respuesta con respecto a OrderedDict – PaulMcG
@PaulMcGuire:... Ver mi comentario a tu respuesta – Tadeck
¿No lo escribirías como 'fxn (3, ** OrderedDict (etc ...'? Oh, espera, veo que cambiaste la firma para tomar un dict, no un conjunto de argumentos de palabras clave Si va a cambiar la firma, entonces también podría pasar una lista de sus tuplas de valor clave. Pero el OP realmente quería iterar sobre ** kwargs. – PaulMcG