In Python, what determines the order while iterating through kwargs?
<p>In python, I wrote this function to teach myself how <code>**kwargs</code> works in Python:</p>

<pre><code>def fxn(a1, **kwargs):
    print a1
    for k in kwargs:
        print k, " : ", kwargs[k]
</code></pre>

<p>I then called this function with</p>

<pre><code>fxn(3, a2=2, a3=3, a4=4)
</code></pre>

<p>Here was the output that my Python interpreter printed:</p>

<pre><code>3
a3  :  3
a2  :  2
a4  :  4
</code></pre>

<p>Why did the for loop print the value of a3 before that of a2 even though I fed a2 into my function first?</p>
