我是Python的新手,我正在寻找关于集合的澄清。如果我有set
个数字,set
是否始终按升序存储值?我写了一个快速示例程序
x = set()
x.add(1)
x.add(2)
x.add(0)
x.add(20)
x.add(3)
x.add(4)
print(x)
我的输出为{0,1,2,3,4,20}
。
如果是这种情况,那么最小值将始终在0索引上,最后一个索引上的最大值。但如果情况并非如此,那么有没有办法让索引达到最小值/最大值?
答案 0 :(得分:1)
数学意义上的集合是无序集合。在Python中,集合也是无序的。因此,询问元素的索引或集合中元素的排序是无效的。
但是,可以在一组整数中找到最小值和最大值:
# Build the set.
myset = set([1, 2, 0, 20, 3, 4])
# Print the minimum and maximum values.
print(min(myset))
print(max(myset))
如果您的用例可以使用有序字典,请查看OrderedDict
。
OrderedDict 是一个记住首次插入密钥的顺序的字典。如果新条目覆盖现有条目,则原始插入位置保持不变。删除一个条目并重新插入它将把它移到最后。