Does native built-in python dict guarantee that the `keys()` and `values()` lists are ordered in the same way?

```
d = {'A':1, 'B':2, 'C':3, 'D':4 } # or any other content
otherd = dict(zip(d.keys(), d.values()))

```

Do I always have `d == otherd` ?

Either it's true or false, I'm interested in any reference pointer on the subject.

PS: I understand the above property will not be true for every objects that behave like a dictionary, I just wonder for the built-in dict. When I test it looks as if it's true, and it's no surprise because having the same order for `keys()` and `values()` is probably the simplest implementation anyway. But I wonder if this behavior was explicitly defined or not.