从排序列表或排序字典中获取第 i 个值
本文关键字:排序 个值 获取 字典 列表 | 更新日期: 2023-09-27 17:47:22
我有一个排序的对象集合(它可以是SortedList或SortedDictionary,我将主要用于阅读,所以添加性能不是那么重要)。如何获取第 i 个值?
因此,例如,当我在集合中有数字 1、2、3、4、5 并且我想要中位数(在本例中为 3)时,我该怎么做?
你可以使用这样的代码
list.Values[index]
对于排序列表。
使用 SortedDictonary 的最简单方法是使用 ElementAt() 方法:
dict.ElementAt(index).Value
但是,这比列表情况慢。
无论哪种情况,您都需要检查计数。如果它是奇数,则取索引 = (list.length-1)/2 )。如果它是偶数,则取 index1 = list.length/2 AND index2 = list.length/2 - 1 并平均值。
尝试这样的事情:
列表。值[列表。计数/2];
请注意,如果 Count 为偶数,则真正的中位数将平均中间的两个数字。
可以使用以下语法提取特定位置的值:
sortedDictionaryName.ElementAt(index);
如果要提取所需索引处元素的键或值:
sortedDictionaryName.ElementAt(index).Key //For only Key
sortedDictionaryName.ElementAt(index).Value //For only Value
如果您需要多次在 SortedDictionary 中按索引获取元素,则性能很糟糕。创建一个新的排序列表,将排序词典作为输入,并访问排序列表。 运行速度快很多很多倍。