Questions tagged «sorting»

排序是将一些订单应用于项目集合的过程。

4
如何按两个字段对Scala中的列表进行排序?
如何在Scala中按两个字段对列表进行排序,在此示例中,我将按lastName和firstName进行排序? case class Row(var firstName: String, var lastName: String, var city: String) var rows = List(new Row("Oscar", "Wilde", "London"), new Row("Otto", "Swift", "Berlin"), new Row("Carl", "Swift", "Paris"), new Row("Hans", "Swift", "Dublin"), new Row("Hugo", "Swift", "Sligo")) rows.sortBy(_.lastName) 我尝试这样的事情 rows.sortBy(_.lastName + _.firstName) 但这不起作用。因此,我对一个好的简单解决方案感到好奇。


11
使用Python / NumPy对数组中的项目进行排名,而无需对数组进行两次排序
我有一个数字数组,我想创建另一个数组,该数组代表第一个数组中每个项目的等级。我正在使用Python和NumPy。 例如: array = [4,2,7,1] ranks = [2,1,3,0] 这是我想出的最好方法: array = numpy.array([4,2,7,1]) temp = array.argsort() ranks = numpy.arange(len(array))[temp.argsort()] 有没有更好/更快的方法可以避免对数组进行两次排序?
100 python  sorting  numpy 

19
当字符串为数字时,如何在按值排序时按字母顺序对字符串进行排序?
我正在尝试对一组数字进行排序,这些数字是字符串,我希望它们能按数字排序。 问题是我无法将数字转换为int。 这是代码: string[] things= new string[] { "105", "101", "102", "103", "90" }; foreach (var thing in things.OrderBy(x => x)) { Console.WriteLine(thing); } 输出:101、102、103、105、90 我想要:90、101、102、103、105 编辑:输出不能为090、101、102 ... 更新了代码示例,使其说“东西”而不是“大小”。该数组可以是这样的: string[] things= new string[] { "paul", "bob", "lauren", "007", "90" }; 这意味着它需要按字母顺序和数字排序: 007、90,鲍勃,劳伦,保罗

6
如何在Python 3中使用自定义比较功能?
在Python 2.x中,我可以将自定义函数传递给sort和.sort函数 >>> x=['kar','htar','har','ar'] >>> >>> sorted(x) ['ar', 'har', 'htar', 'kar'] >>> >>> sorted(x,cmp=customsort) ['kar', 'htar', 'har', 'ar'] 因为用我的语言,辅音是伴随着这个顺序 "k","kh",....,"ht",..."h",...,"a" 但是在Python 3.x中,看起来我无法传递cmp关键字 >>> sorted(x,cmp=customsort) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'cmp' is an invalid keyword argument for this function 有其他选择吗?或者我也应该编写自己的排序函数吗? 注意:我通过使用“ k”,“ kh”等进行了简化。实际字符是Unicode,甚至更复杂,有时在辅音前后都有元音,所以我完成了自定义比较功能,因此这一部分还可以。唯一的问题是我无法将自定义比较功能传递给sort或.sort


11
重新排列数组
说,我有一个看起来像这样的数组: var playlist = [ {artist:"Herbie Hancock", title:"Thrust"}, {artist:"Lalo Schifrin", title:"Shifting Gears"}, {artist:"Faze-O", title:"Riding High"} ]; 如何将元素移动到另一个位置? 例如,我想移动{artist:"Lalo Schifrin", title:"Shifting Gears"}到最后。 我尝试使用拼接,如下所示: var tmp = playlist.splice(2,1); playlist.splice(2,0,tmp); 但这是行不通的。

23
如何对可观察的集合进行排序?
我有以下课程: [DataContract] public class Pair<TKey, TValue> : INotifyPropertyChanged, IDisposable { public Pair(TKey key, TValue value) { Key = key; Value = value; } #region Properties [DataMember] public TKey Key { get { return m_key; } set { m_key = value; OnPropertyChanged("Key"); } } [DataMember] public TValue Value { get { …

11
如何在Python中按字母顺序对unicode字符串排序?
Python默认情况下按字节值排序,这意味着é在z和其他同样有趣的事情之后。在Python中按字母顺序排序的最佳方法是什么? 有图书馆吗?我什么都找不到。最好是排序应该有语言支持,因此它理解åäö应该用瑞典语在z之后排序,但是ü应该用u进行排序,依此类推。因此,Unicode支持非常必要。 如果没有它的库,什么是最好的方法?只需将字母映射到整数值,然后将字符串映射到整数列表?


9
如何在不同的时间按不同的参数对列表进行排序
我有一个Person具有多个属性的类,例如: public class Person { private int id; private String name, address; // Many more properties. } 很多Person对象都存储在中ArrayList<Person>。我想通过多个排序参数对列表进行排序,但有时会有所不同。例如,我可能想一次按name升序然后再address降序排序,而另一次只想按id降序排序。 而且我不想创建自己的排序方法(即,我想使用Collections.sort(personList, someComparator)。)实现此目的的最优雅的解决方案是什么?
95 java  sorting 



8
MySQL按特定ID值排序
是否可以使用预定义的一组列值(ID)按“ order by”在mysql中排序,例如:order by(ID = 1,5,4,3),因此我会在其中得到记录1、5、4、3订购吗? 更新:关于滥用mysql ;-)我必须解释为什么我需要这个... 我希望记录每5分钟随机更改一次。我有一个cron任务来执行更新表,以在其中放置不同的随机排序顺序。只有一个问题!分页。我将有一位访问者来到我的页面,我给他前20个结果。他将等待6分钟,然后转到第2页,并且由于排序顺序已经更改,因此他将得到错误的结果。 因此,我认为,如果他来到我的网站,我会将所有ID都放在一个会话中,而当他进入第2页时,即使排序已经改变,他也会得到正确的记录。 还有其他更好的方法吗?
95 mysql  sorting 


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.