Dlaczego ten słownik Pythona jest tworzony poza kolejnością przy użyciu setdefault ()?

Właśnie zaczynam grać z Pythonem (tło VBA). Dlaczego ten słownik jest tworzony w porządku? Czy nie powinno to być: 1, b: 2 ... itd.?

class Card:
def county(self):
    c = 0
    l = 0
    groupL = {}  # groupL for Loop
    for n in range(0,13):
        c += 1
        l = chr(n+97)
        groupL.setdefault(l,c)
    return groupL

pick_card = Card()
group = pick_card.county()
print group

oto wyjście:

{'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4, 'g': 7, 'f': 6, 'i': 9, 'h': 8, 'k': 11, 'j': 10, 'm': 13, 'l': 12}

lub czy po prostu wydrukowano go w niewłaściwym miejscu?

questionAnswers(1)

yourAnswerToTheQuestion