对Python(2.4.3)中set()的输出感到困惑

时间:2016-07-14 22:56:07

标签: python set

我是python的初学者,我使用的是python 2.4.3。

我对set()函数产生的订单有疑问。

我理解set()将从字符串和

中删除重复的元素
  

[class set([iterable])

     

返回一个新的集合对象,可选择使用可迭代的元素。] 1

但是,例如,当我做以下

a='abcdabcd' 
set(a)

它返回了

的结果
set(['a','c','b','d'])

代替

set(['a','b','c','d'])

我实际上会期待。

为什么?我无法理解输出是如何生成的。

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

set被定义为“无序的独特元素集合”(参见here)。 Python中的set对象不保证订购,你不应该期望也不要依赖订单保持不变。