簡體   English   中英

為什么 py2 和 py3 中元素的順序不同?

[英]Why does order of elements in a set differ in py2 and py3?

在 py2 中:

{1: {“1”, “2”, “7”, “3”, “4”, “9”, “8”}}

返回所有運行{1: set(['1', '3', '2', '4', '7', '9', '8'])}

在 py3 中:

{1: {“1”, “2”, “7”, “3”, “4”, “9”, “8”}}

返回第一次運行{1: {“1”, “3”, “4”, “7”, “8”, “2”, “9”}}

返回第二次運行{1: {“2”, “4”, “9”, “7”, “1”, “3”, “8”}} dict 中的項目順序不斷變化。

我的主要問題是為什么它會隨着每次運行而不斷變化,以及如何解決它以便返回一個穩定的結果,就像在 py2 中一樣?

使用不同的結構(如列表或字典(自 Python 3.7 起)/OrderedDict)——集合本身沒有順序的概念。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM