在Python中,集合并集顺序如何作用于集合

在Python中,集合并集顺序如何作用于集合,python,Python,代码:a={1,2,3}c={14,62}b=a|c printb 输出:{1,2,3,14,62} 代码:a={1,2,3}c={15,62}b=a|c printb 输出:{1,2,3,62,15} 代码:a={1,2,3}c={16,62}b=a|c printb 输出:{16,1,2,3,62} 代码:a={1,2,3}c={17,62}b=a|c printb 输出:{1,2,3,17,62} 代码:a={12}c={4}b=a|c printb 输出:{12,43} 代码:a={12

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

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

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

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

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

代码:a={12}c={44}b=a|c printb 输出:{44,12}

为什么结果集在大多数情况下是有序的,但在某些情况下不是。 15,31,63 000011110011110011111111等数字始终位于末尾,16,32,64 000100000000001000000等数字位于第一位。
请解释一下。

这不是按位的,即使看起来很像。好了,工会

而且,集合中元素的顺序也不能保证。除非您将其转换为列表并对其进行排序,否则您可能不需要任何顺序


请参阅。

无法保证设置顺序。欢迎使用StackOverflow。该操作不是按位操作,即使它使用相同的字符也是如此。对于集合,这是并集操作。在Python中,根据定义,集合是不有序的,因此不能保证在集合的打印输出中获得任何特定的顺序。如果需要特定的顺序,可以在打印之前对集合进行排序,生成列表。或者,在当前版本的Python中,您可以使用字典或其他数据容器模拟集合。但是,如果集合顺序不保证,那么为什么输出总是相同的,并且遵循我在末尾提到的模式?结果不保证意味着它可以是任何特定的,它可能看起来是有序的,但是你不应该对订单做任何假设。