关于Python输入输出的问题——本人最近刚接触Python,遇到了一问题,向各位大神请教

也许是这个问题太简单了,网上都没有相关的内容,冒着被嘲笑的可能还是要请教下各位:我在练习基本输入输出的时候发现,如果输入t=['a','b','c'],打印出来的是{'a', 'b', 'c'},但是如果我输入的是t={'a','b','c'},打印出来的却是是{'a', 'c', 'b'},这是为什么?元组的字母排列顺序为什么会改变?试了几种组合,发现字母a是排第一的,字母c会排在b前面,是不是python有自己规定一种字母排序?求解!谢谢大家

第1个回答  2012-08-23
t={'a','b','c'}, t实际上是一个set,set内的元素在定义上是随机保存的,但实际上是伪随机,顺序和python的具体实现有关。
第2个回答  2012-08-23
你穿越了!!!
1列表输出字典;
2字典错误构造竟然有输出;
3字典又冒出元组了。
没有其他可以解释的了,你真穿越了。
要想回到现实世界,建议用python shell老老实实尝试你输入的东西。追问

是我括号写错了,实际是输入t=['a','b','c'],打印出来的是['a', 'b', 'c'];输入的是t={'a','b','c'},打印出来的是{'a', 'c', 'b'},用的是Python3.2,在我同事电脑上用Python2.7是同样的结果

追答

那3楼macru的解答就是你要的答案。

本回答被网友采纳
第3个回答  2012-08-23
序列是有序的,而集合是无序的。
看这里,python做的判断
>>> ['a','b','c'] == ['b', 'a', 'c']
False
>>> {'a','b','c'} == {'b', 'a', 'c'}
True
>>>
第4个回答  2012-08-23
不可能的
相似回答