回答編集履歴

1

追記

2018/09/18 07:56

投稿

quickquip
quickquip

スコア11038

test CHANGED
@@ -1 +1,17 @@
1
1
  この"任意の"は「どの (key, value) 対が返されるかは実装側の都合で決まるから勝手な想定はしてはいけない」という意味です。「ランダムに選ばれる」と思ってはいけません。
2
+
3
+
4
+
5
+ ----
6
+
7
+
8
+
9
+ CPython3.5以前は辞書のハッシュテーブルの状態に依存するので**何が返るかは実行しないと分からない**のですが、同じように作成した辞書はハッシュテーブルの状態が同じになっているわけなので**何が返るかは決定的**でした。
10
+
11
+
12
+
13
+ CPython3.6でおそらく最後に追加したものを返すように変更されたのだと思いますが、しかし、それを期待してコードを書いてはいけません。
14
+
15
+
16
+
17
+ Python3.7以降でも、過去のPythonで動くコードだと思って書いている限り、LIFOの動作を期待してコードを書いてはいけないと思います。