集合中的最小值索引

时间:2018-05-29 05:31:55

标签: python python-3.x

我是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索引上,最后一个索引上的最大值。但如果情况并非如此,那么有没有办法让索引达到最小值/最大值?

1 个答案:

答案 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 是一个记住首次插入密钥的顺序的字典。如果新条目覆盖现有条目,则原始插入位置保持不变。删除一个条目并重新插入它将把它移到最后。