Python 3 中的 set() 函数偶尔会对列表进行排序,但我不知道标准是什么。
a = [2,3,5,5,4,1]
b = [12,13,15,15,14,11]
c = [29,51,87,87,72,12]
print(f"list form: {a}, set form: {set(a)}")
print(f"list form: {b}, set form: {set(b)}")
print(f"list form: {c}, set form: {set(c)}")
输出:
list form: [2, 3, 5, 5, 4, 1], set form: {1, 2, 3, 4, 5}
list form: [12, 13, 15, 15, 14, 11], set form: {11, 12, 13, 14, 15}
list form: [29, 51, 87, 87, 72, 12], set form: {72, 12, 51, 87, 29}
在上面的示例中,如果我们查看它们的索引,则整数“排序”相同。
它按照索引
5->0->1->4->2->3
的顺序进行。
但是,它只对列表
a
和b
进行排序,并以某种一致的方式重新排序c
,但我正在努力理解其决策背后的逻辑。
有人知道吗?