Questions tagged «sorted»

11
如何在Python中获取排序数组的索引
我有一个数字列表: myList = [1, 2, 3, 100, 5] 现在,如果我对该列表进行排序以获得[1, 2, 3, 5, 100]。我想要的是按排序顺序排列的原始列表中元素的索引,即[0, 1, 2, 4, 3] --- ala MATLAB的sort函数,它既返回值又返回索引。
199 python  indexing  sorted 

5
python的sorted()函数是否保证稳定?
该文档不能保证。还有其他记录在案的地方吗? 我猜想它可能是稳定的,因为可以保证列表上的sort方法是稳定的(注9:“从Python 2.3开始,保证sort()方法是稳定的”),并且sorted在功能上相似。但是,我找不到任何明确的说法。 目的:如果两个记录中的主键相等,则需要基于主键和辅助键进行排序。如果保证sorted()是稳定的,那么我可以对辅助键进行排序,然后对主键进行排序,并获得所需的结果。 PS:为避免任何混乱,我使用“稳定”的含义是“排序是稳定的,如果它保证不更改比较相等的元素的相对顺序”。

12
Java中的排序数组列表
我为无法快速找到答案感到困惑。我实质上是在寻找Java中的一种实现java.util.List接口的数据结构,但该结构按顺序存储其成员。我知道您可以使用法线ArrayList并Collections.sort()在其上使用,但是我遇到的情况是,我偶尔会添加并经常从列表中检索成员,并且我不想每次检索成员时都对其进行排序,以防万一新增加了一个。谁能指出我在JDK甚至第3方库中都存在的这种东西? 编辑:数据结构将需要保留重复项。 总结:我发现所有这些都很有趣,并且学到了很多东西。特别值得一提的是Aioobe,因为他在实现上述要求方面的毅力(主要是支持重复项的有序java.util.List实现)。我接受了他的回答,这对我的要求是最准确的,并且即使我提出的要求不完全是我所寻求的含义,也最能引起我的思考。 我所要求的问题在于List接口本身以及接口中可选方法的概念。引用javadoc: 该界面的用户可以精确控制列表中每个元素的插入位置。 插入排序列表并不能精确控制插入点。然后,您必须考虑如何处理某些方法。就拿add例如: public boolean add(Object o) Appends the specified element to the end of this list (optional operation). 现在,您处于以下两种情况中的一种令人不舒服的情况:1)打破合同并实现add的排序版本2)让add元素添加到列表的末尾,破坏排序的顺序3 add)通过抛出来抛弃(作为其可选项)一UnsupportedOperationException和实施这增加了在一个有序的物品的另一种方法。 选项3可能是最好的,但是我发现它不适合使用具有不能使用的add方法和不在接口中的另一个sortedAdd方法。 其他相关解决方案(无特定顺序): java.util.PriorityQueue,它可能比我所需要的更接近我的需求。在我的案例中,队列不是对象集合的最精确定义,但是在功能上,它可以完成我需要做的所有事情。 net.sourceforge.nite.util.SortedList。但是,此实现通过实现add(Object obj)方法中的排序打破了List接口的协定,并且奇怪的是没有的方法add(int index, Object obj)。总体共识表明,throw new UnsupportedOperationException()在这种情况下可能是更好的选择。 Guava的TreeMultiSet一个支持重复项的set实现 ca.odell.glazedlists.SortedList 此类在Javadoc中附带警告:Warning: This class breaks the contract required by List

7
将项目插入Python中的排序列表
我正在创建一个类,其中的一种方法将新项目插入已排序列表中。该项目将插入到已排序列表中的更正(已排序)位置。我不能使用任何内置列表功能或其它方法相比[],[:],+,和len虽然。这部分确实让我感到困惑。 最好的方法是什么?
74 python  list  sorted 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.