pop() 在 int set{} 上总是 returns 相同?

pop() always returns the same on an int set{}?

在第一个集合(一个字符串集合)中,pop() 方法将完美地工作,但是对于第二个(一个 int 集合)它只弹出集合中的“第一个”position/index , 每时每刻。不是随机的。

Set_with_string_data = {"Brunno", "Silva", "Pereira"}
Set_with_string_data.pop()
print(Set_with_string_data)

每次输出不同的东西:

{"Brunno", "Silva"}
{"Silva", "Pereira"}
{"Pereira", "Brunno"}

但是这个:

Set_with_integer_data = {1, 2, 3, 4}
Set_with_integer_data.pop()
print(Set_with_integer_data)

总是输出:

{2, 3, 4}
{2, 3, 4}
{2, 3, 4}

你说的不是真的。它与列表元素和特定解释器的哈希值有关。 试试这个,您很可能仍会看到 1 个弹出式

Set_with_intenger_data = {4, 3, 2, 1}
Set_with_intenger_data.pop()
print(Set_with_intenger_data)