有人知道在Python中集合的顺序是如何决定的吗?

2024-09-28 21:43:55 发布

您现在位置:Python中文网/ 问答频道 /正文

对字符串的调用set()似乎总是解析为相同的(非逻辑的)顺序,而且两者都是一致的

set([1,2,3]) & set([1,2,3,4])

还有它混乱的表亲

set([2,3,1]) & set([4,3,1,2])

将导致有序的set([1,2,3])。你知道吗

另一方面,有些东西更活泼,比如

from random import randint
set([randint(0,9) for x in range(3)])

有时会给出set([9, 6, 7])。。。你知道吗

。。。这是怎么回事?你知道吗


Tags: 字符串infromimportfor顺序rangerandom
1条回答
网友
1楼 · 发布于 2024-09-28 21:43:55

您应该将集合视为无序的集合

它们存储在哈希表中。你知道吗

另外,当您继续添加元素时,散列将被转移到一个更大的表中,因此顺序可能会发生显著变化。你知道吗

不能保证在不同的Python版本/实现中顺序是相同的。你知道吗

相关问题 更多 >