>>> {x for x in 'spam'}
{'a', 'p', 's', 'm'}
为什么会改变顺序?如果您看一下循环,它会完美运行:
>>> for x in 'spam':
... print(x)
...
s
p
a
m
>>>
请您参考如下方法:
python 中的集合(以及 set theory 中的集合)没有排序。因此,当您遍历它们时,没有定义的顺序。
您遍历了字符串文字 'spam' 以创建一个包含该字符串中每个字符的集合。一旦你这样做了,订单就消失了。
当您对 'spam' 执行 for 循环时,您是在对一个确实有顺序的字符串执行循环。
