[lang-ref] ( ordered_dict ) ( python )

def test_ordered_dict():
    # default dict keeps order
    # dict preserves insertion order (language guarantee since Python 3.7)
    d = {}
    d['B'] = 12
    d['A'] = 11 # insertion order is preserved
    d['C'] = 13
    d['A'] = 21 # updating doesn't move the key
    d['D'] = 24

    assert list(d.keys()) == ['B', 'A', 'C', 'D']  # key order is preserved
    assert d['A'] == 21                            # value is updated