gpt4 book ai didi

python - 有时我的套装是有序的,有时不是(Python)

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:35 25 4
gpt4 key购买 nike

所以我知道集合应该是一个无序列表。我正在尝试自己编写一些代码,结果发生了一件奇怪的事情。我的集合有时会按 1 - 100 的顺序排列(当使用较大的数字时),而当我使用较小的数字时,它将保持无序。这是为什么?

#Steps:
#1) Take a number value for total random numbers in 1-100
#2) Put those numbers into a set (which will remove duplicates)
#3) Print that set and the total number of random numbers

import random

randomnums = 0

Min = int(1)
Max = int(100)
print('How many random numbers would you like?')
numsneeded = int(input('Please enter a number. '))
print("\n" * 25)

s = set()

while (randomnums < numsneeded):
number = random.randint(Min, Max)
s.add(number)
randomnums = randomnums + 1

print s
print len(s)

如果有人对清理我的代码有任何指示,我 100% 愿意学习。感谢您的宝贵时间!

最佳答案

set 的文档说它是 an unordered collection ,这仅意味着您可以假设集合中的元素没有特定顺序。该集合可以选择它用来保存数据的内部表示,当您请求元素时,它们可能会以任何顺序返回。它们在某些情况下已排序的事实可能意味着该集合已选择以排序的方式存储您的元素。

集合可以根据集合中元素的数量等因素在性能和空间之间做出权衡决策。例如,它可以将较小的集合存储在列表中,而将较大的集合存储在树中。从树中检索元素的最自然方式是按排序顺序排列,因此您可能会遇到这种情况。

另见 Can Python's set absence of ordering be considered random order?有关此的更多信息。

关于python - 有时我的套装是有序的,有时不是(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23122983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com