集合联合顺序如何在Python中的集合上工作

时间:2018-09-16 16:33:31

标签: python

代码:a = {1,2,3} c = {14,62} b = a | c print(b) 输出:{1,2,3,14,62}

代码:a = {1,2,3} c = {15,62} b = a | c print(b) 输出:{1,2,3,62,15}

代码:a = {1,2,3} c = {16,62} b = a | c print(b) 输出:{16,1,2,3,62}

代码:a = {1,2,3} c = {17,62} b = a | c print(b) 输出:{1,2,3,17,62}

代码:a = {12} c = {4} b = a | c print(b) 输出:{12,43}

代码:a = {12} c = {44} b = a | c print(b) 输出:{44,12}

为什么大多数情况下对结果集进行排序,但在某些情况下却没有排序。 像15,31,63(00001111,0001111,0011111111)这样的数字始终位于结尾,而像16,32,64(00010000,00100000,01000000)这样的数字始终位于第一位置。 请解释。

1 个答案:

答案 0 :(得分:3)

这不是按位或,即使看起来很像。那是set.union()

此外,集合中元素的顺序也不保证。除非您将其转换为列表并进行排序,否则可能不会期望有任何顺序。

请参见Python 3 documentation on set.union()