问题描述
我一直在尝试研究最简单的事情,如果有人解释为什么会这样,我将不胜感激。下面的代码片段:
#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.
中找到更多信息