For two dictionaries `d1` and `d2` defined as 

```
d1 = {'foo':123, 'bar':789}
d2 = {'bar':789, 'foo':123}

```

The order of the keys is preserved in Python 3.6+. This is evident when we loop through the dictionary and print the items. 

```
>>> for x in d1.items():
...     print(x)
...
('foo', 123)
('bar', 789)

>>> for x in d2.items():
...     print(x)
...
('bar', 789)
('foo', 123)

```

Why does Python still consider `d1` and `d2` to be equal?

```
>>> d1 == d2
True

```