精华内容
下载资源
问答
  • python3 list 自定义排序

    2020-03-15 16:05:04
    python3 list 自定义排序 python2 自定义排序 在python2中,我们可以使用cmp进行自定义排序,当时在python3中却取消了这个参数。 def cmp(x1, x2): ... a.sort(cmp) python3 自定义排序 参考 Masker的做法,可以...

    python3 list 自定义排序

    python2 自定义排序

    在python2中,我们可以使用cmp进行自定义排序,当时在python3中却取消了这个参数。

    def cmp(x1, x2):
    	...
    
    a.sort(cmp)
    

    python3 自定义排序

    参考 Masker的做法,可以使用以下方式进行自定义排序。

    def cmp(x1, x2):
    	if x1['score'] != x2['score']: # 如果score不同
    		return x1['score'] < x2['score'] # 那么小的在前面
    	else: # 如果score相同
    		return x1['name'] < x2['name']	# 那么名字字典序小的在前面
    # 注意这里默认score和name不会同时相同
    
    import functools
    a.sort(key=functools.cmp_to_key(cmp))
    
    
    展开全文
  • Java中实现List自定义排序

    千次阅读 2019-01-30 10:46:49
    //return -1:即为正序排序 return - 1 ; } else if ( u1 . getAge ( ) == u2 . getAge ( ) ) { return 0 ; } else { //return 1: 即为倒序排序 return 1 ...

    实体类

    package com.whty.entity;
    
    public class User {
    	private int id;
    	private String name;
    	private int age;
    	
    	public User(int id, String name, int age) {
    		super();
    		this.id = id;
    		this.name = name;
    		this.age = age;
    	}
    	
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    
    	@Override
    	public String toString() {
    		return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
    	}
    }
    

    测试类

    package com.whty.test;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    import com.whty.entity.User;
    
    public class Test {
    	public static void main(String[] args) {
    		List<User> list = new ArrayList<>();
    		list.add(new User(1, "java", 20));
    		list.add(new User(2, "spark", 19));
    		list.add(new User(3, "hive", 21));
    		
    		for(User user :list) {
    			System.out.println("排序前:" + user.toString());
    		}
    		//实现排序
    		Collections.sort(list, new Comparator<User>() {
    			@Override
    			public int compare(User u1, User u2) {
    				if(u1.getAge() > u2.getAge()) {
    					//return -1:即为正序排序
    					return -1;
    				}else if (u1.getAge() == u2.getAge()) {
    					return 0;
    				}else {
    					//return 1: 即为倒序排序
    					return 1;
    				}
    			}
    		});
    		
    		for(User user :list) {
    			System.out.println("排序后:" + user.toString());
    		}
    	}
    }
    
    

    测试结果

    排序前:User [id=1, name=java, age=20]
    排序前:User [id=2, name=spark, age=19]
    排序前:User [id=3, name=hive, age=21]
    排序后:User [id=3, name=hive, age=21]
    排序后:User [id=1, name=java, age=20]
    排序后:User [id=2, name=spark, age=19]
    
    展开全文
  • c# list 自定义排序

    千次阅读 2018-06-05 22:49:32
    using System;using System.Collections.Generic;using System.Linq;using System.Text;...namespace l结构体的list排序{ class Program { class Node { public int nID; public int nVal...
            // 要存在list中的节点信息
            class Node
            {
                public int nID;
                public int nValue;
            }
    
            // 打印list所有的节点
            static void print(List<Node> nodeList)
            {
                for (int i = 0; i < nodeList.Count; i++)
                {
                    Console.WriteLine(nodeList[i].nID.ToString() + " , " + nodeList[i].nValue.ToString());
                }
                Console.WriteLine("");
            }
    
            static void Main(string[] args)
            {
                // 创建一个list,里面随机压入一些节点信息
                List<Node> nodeList = new List<Node>();
                nodeList.Add(new Node() { nID = 1, nValue = 999 });
                nodeList.Add(new Node() { nID = 2, nValue = 67 });
                nodeList.Add(new Node() { nID = 5, nValue = 356 });
                nodeList.Add(new Node() { nID = 4, nValue = 20 });
                nodeList.Add(new Node() { nID = 3, nValue = 133 });
    
                // 以ID进行升序
                nodeList.Sort(
                                delegate(Node n1, Node n2)
                                {
                                    return n1.nID.CompareTo(n2.nID);
                                }
                              );
    
                Console.WriteLine("以ID进行升序后的结果:");
                print(nodeList);
    
                // 以ID进行降序
                nodeList.Sort(
                                delegate(Node n1, Node n2)
                                {
                                    return n2.nID.CompareTo(n1.nID);
                                }
                              );
    
                Console.WriteLine("以ID进行降序后的结果:");
                print(nodeList);
    
                // 以Value进行升序
                nodeList.Sort(
                                delegate(Node n1, Node n2)
                                {
                                    return n1.nValue.CompareTo(n2.nValue);
                                }
                              );
    
                Console.WriteLine("以Value进行升序后的结果:");
                print(nodeList);
    
                // 以Value进行降序
                nodeList.Sort(
                                delegate(Node n1, Node n2)
                                {
                                    return n2.nValue.CompareTo(n1.nValue);
                                }
                              );
    
                Console.WriteLine("以Value进行降序后的结果:");
                print(nodeList);
    
                Console.ReadKey();
            }

    测试结果如下图:


    展开全文
  • 主要介绍了C#使用IComparer自定义List类实现排序的方法,涉及C#使用IComparer接口定义List类进行排序的相关技巧,需要的朋友可以参考下
  • python list 自定义排序

    千次阅读 2015-10-21 16:04:42
    list 排序,按照每条记录中的 'score' 排序。如果 'score' 字段的值相等,则按照 'first' 的值排序。如果 'first' 依旧相等,则按照 'second' 排序。如果 'second' 相等,则按照 'third' 字段的值来排序。 方法...

    看到的一个知识点,稍加记录…

    数据格式

    a = [{'name':'jk', 'score':4, 'first':1, 'second':2, 'third':2}, {'name':'zz', 'score':1, 'first':0, 'second':0, 'third': 1}, {'name': 'ns', 'score':4, 'first':1, 'second':0, 'third':4}]

    处理要求

    希望将上述的list排序,按照每条记录中的'score'排序。如果'score'字段的值相等,则按照'first'的值排序。如果'first'依旧相等,则按照'second'排序。如果'second'相等,则按照'third'字段的值来排序。

    方法

    >>> a.sort.__doc__
    'L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;\ncmp(x, y) -> -1, 0, 1'
    >>> def cmp(a1, a2):
    ...     if a1['score'] != a2['score']:
    ...         return a1['score'] - a2['score']
    ...     elif a1['first'] != a2['first']:
    ...         return a1['first'] - a2['first']
    ...     elif a1['second'] != a2['second']:
    ...         return a1['second'] - a2['second']
    ...     else:
    ...         return a1['third'] - a2['third']
    ... 
    >>> 
    >>> 
    >>> 
    >>> a.sort(cmp)
    

    结果

    >>> a
    [{'second': 0, 'score': 1, 'name': 'zz', 'third': 1, 'first': 0}, {'second': 0, 'score': 4, 'name': 'ns', 'third': 4, 'first': 1}, {'second': 2, 'score': 4, 'name': 'jk', 'third': 2, 'first': 1}]
    
    展开全文
  • 1:先建需要排序的属性Model 1 package com.msqsoft.app.queuing.util; 2 3 public class ListOrderByModel { 4 5 private String queueNumber; 6 7 private Integer status; 8 9 pub...
  • c++ list 自定义排序

    千次阅读 2014-12-06 13:25:05
    list.sort()可以对简单对象进行排序,如int,float 调用list.sort(比较器)可以对对象进行排序,如根据武器的攻击进行排序 比较器的写法 class Cmpare { public: bool operator()(const Weapon* wp1,const ...
  • 自定义排序规则的编写 2. 自定义排序规则怎么嵌入到sort排序函数中 知识点1: 1.自定义排序规则的编写 类似于这样:person是自定义结构体 bool sort_list(person& p1, person& p2) { if (p1.age ...
  • Java中如何实现List自定义排序

    千次阅读 2020-08-20 11:55:38
    最近项目中遇到一个问题,需要对List进行自定义顺序排序,打个比方,现在我有一个SortStudent类,需要对它的年龄降序排序,再对他的省份进行自定义排序,要求按照:"安徽", "北京", "上海", "深圳", "广州"的顺序...
  • QStringList自定义排序

    千次阅读 2019-11-21 17:21:38
    假如有一个QStringList如下: QStringList keys = QStringList() << "1" << "9" <...这样既可实现排序: qSort(keys.begin(), keys.end(), [](const QString& s1, const QStr...
  • list集合实现自定义排序

    千次阅读 2020-06-08 09:51:30
    1.基本数据类型的简单排序 public class Demo01 { public static void main(String[] args) { List<Integer> list = Arrays.asList(1,5,2,0,-1); Collections.sort(list); System.out.println(list); } }...
  • #引言 有一个集合,对其进行排序,排序规则为:按对象中某个字段的特定顺序进行排序,比如:对象属性...1、demo1:按字段id进行自定义排序 List<Foo> foos = new List<Foo> { new Foo { Id = 1, Name =
  • List排序根据自定义字段自定义排序规则 1.ListSortUtils自定义工具类【 List排序根据自定义字段自定义排序规则】: import com.dahuatech.bigfish.project.planmanage.entity.PlanVO; import java.lang.reflect....
  • C#List自定义排序

    千次阅读 2012-09-17 13:29:58
    List word_info_pre_line = new List(); class words_info //自字义类型 { public string word = null; public double rank = 0.0; public int TF = 0; } word_info_pre_line
  • List集合自定义排序

    千次阅读 2019-01-17 16:44:08
    1.按照任意字段排序(使用范围数据库查询出来的多个集合拼接成一个集合后按照特定字段进行排序) 工具类: import java.util.Comparator; import java.util.HashMap; import java.util.Map; import ...
  • Java List、Map自定义排序

    千次阅读 2019-05-09 20:54:41
    1、List自定义排序 自定以实现List的sort()方法 举例:有类型为Document的ArrayList,Document有属性count,按照count的大小排序。 List<Document> ipInfoList = new ArrayList<>(); //省略初始化模拟...
  • #列表自定义排序 #python3传递的排序函数返回的是代表自身相对位置的数值 def cmp(x): return abs(x) alist=list(map(int,input().split())) b = sorted(alist, key=cmp) print(b)   转载于:...
  • 主要介绍了list泛型自定义排序示例,实现List泛型类将制定元素至前排序,大家参考使用吧
  • C#list自定义排序

    2020-08-07 09:01:33
    C# List自定义排序 List类型数据可以借助Lambda表达式来进行自定义排序。 如List<double[]>类型数据,需要按照double数组的第i个数据进行排序,代码如下: List<double[]> listData = new List<...
  • 之前写code,实现List集合的自定义排序,都是给Collections.sort()传递一个实现Comparator的类对象,相对比较麻烦,终于决定迅速学习一下java8中的Lambda表达,昨天刚刚到手的书,只有132页,决定13天内必须看完。...
  • List集合实现自定义排序

    千次阅读 2016-12-06 14:55:04
    List自定义排序根据Collections.sort重载方法来实现,实现Comparable接口。
  • 自定义List对象集合排序

    千次阅读 2019-06-12 19:59:07
    2.自定义排序的类 必须实现Comparator接口,按照类的sales销量排序 boolean 表示升序还是降序,false降序 true升序 public class SalesComparator implements Comparator<Commodity> { boolean is_Ascend; ...
  • 有时候我们需要对list进行排序,方便我们查阅,下面就是本人做的一个小测试。 package www.huarui.biz.jfreecharts; public class BuffBean { private String month = null; private int count...
  • Lambda版自定义排序

    万次阅读 2021-07-07 21:03:46
    List<Employee> employees = EmployeeData.getEmployees(); employees.stream().sorted( (e1,e2) -> { int ageValue = Integer.compare(e1.getAge(),e2.getAge()); if(ageValue != 0){ return age...
  • std::list 自定义排序

    千次阅读 2012-03-21 17:32:00
    struct cmp { bool operator () (const string& a,const string& b) { return a.size() (); } }; int _tmain(int argc, _TCHAR* argv[]) ...std::list list_story; list_story.push_back("the
  • C++ list自定义函数排序

    千次阅读 2019-03-31 21:15:55
    总时间限制: 1000ms 内存限制: 65536kB // 在此处补充你的代码 描述 程序填空,产生指定输出 #include <cstdio> #include <iostream>...list> using namespace std; int main()...
  • List Sort :列表自定义排序实现

    千次阅读 2019-01-17 18:20:04
    List接口提供了sort函数定义,传入Comparator对象实例即可自定义排序。 default void sort(Comparator&amp;amp;lt;? super E&amp;amp;gt; c) { Object[] a = this.toArray(); Arrays.sort(a, ...
  • Python 自带的 sort() 函数默认是从小到大进行排序的,与C++的排序函数类似,也可以通过自定义排序函数来指定排序的规则。下面以牛客的一道例题来讲解: 这道题主要是对字符串数组进行排序,其中优先级: (1)字典...
  • List集合进行自定义规则排序

    千次阅读 2020-04-16 15:12:09
    最近碰到一个需求,要对数据库查出来的东西进行排序,但是很坑的是数据库存的是字符串类型,所以不能用order by,所以我就毫无办法。当然不对,这怎么可能难得到我呢 ...
  • List 自定义排序

    千次阅读 2010-01-24 22:26:00
    package com.haoren168;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * 自定义比较:MyComparator * @author Administrator * *

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 153,935
精华内容 61,574
关键字:

list自定义排序