小编B M*_*zie的帖子

Python 3中的自定义排序

我开始学习Python 3.我想知道如何执行自定义排序.例如,我可能想要按以下方式对动物列表进行排序:按第一个字符升序排序,然后按长度降序排序,然后按字母数字升序排序.

当正确分类时,由"蚂蚁","羚羊","斑马","食蚁兽"组成的列表将成为"食蚁兽","羚羊","蚂蚁","斑马".

我已经阅读了一些关于文档但是没有完全获得sort方法的"关键"参数.任何例子?PS:这不是大学的作业问题.我只是想和python玩一下.

很久很久以前我学习了java,可能已经实现了类似下面的自定义排序:

import java.util.*;

public class sortDemo implements Comparator<String> {
    public static void main(String[] args) {
        ArrayList<String> animals = new ArrayList<String>();
        animals.add("ant");
        animals.add("antelope");
        animals.add("zebra");
        animals.add("anteater");

        for (String a:animals){
            System.out.println(a);
        }
        System.out.println();

        // want output to be anteater, antelope, ant, zebra following the sort
        Collections.sort(animals, new sortDemo());

        for (String a:animals){
            System.out.println(a);
        }
    }

    public int compare(String s1, String s2) {
        if (s1.charAt(0) > s2.charAt(0)){
            return 1;
        } else if (s1.charAt(0) == s2.charAt(0)){
            if(s1.length() < s2.length()) {
                return 1; …
Run Code Online (Sandbox Code Playgroud)

python java sorting

6
推荐指数
1
解决办法
793
查看次数

标签 统计

java ×1

python ×1

sorting ×1