为什么 dict(enumerate(myset)) 返回一个混乱的 dict,与 dict(enumerate(list)) 不同?

问题描述

我一直在尝试研究最简单的事情,如果有人解释为什么会这样,我将不胜感激。下面的代码片段:

#Creating dict from set using enumerate:

    myset = {'A','A','B','C'}
    mydict = dict(enumerate(myset))
    print(mydict)

输出

    {0: 'B',1: 'C',2: 'A'}

我的预期输出

    {0: 'A',1: 'B',2: 'C'}

然而,它适用于列表!

#Creating dict from list using enumerate:

    li = ["apple","banana","mango"]
    mydict = dict(enumerate(myset))
    print(mydict)

输出

    {0: 'apple',1: 'banana',2: 'mango'}

感谢解释!

解决方法

集合没有顺序,但列表有。这就是为什么当您枚举集合时,它不会按照您预期的顺序进行。可以在 official documentation.

中找到更多信息

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...