我开始学习python3。

我想知道如何执行自定义排序。例如,我可能希望按照以下方式对动物列表进行排序:先按字符升序排序,然后按长度降序排序,然后按字母数字升序排序。在

一个由“蚂蚁”、“羚羊”、“斑马”、“食蚁兽”组成的列表在正确排序后会变成“食蚁兽”、“羚羊”、“蚂蚁”、“斑马”。在

我读了一些文档,但不太了解sort方法的“key”参数。有什么例子吗?

附言:这不是大学作业问题。我只是想玩一下python。在

我很早以前就学会了java,可能已经实现了如下自定义排序:

在import java.util.*;

public class sortDemo implements Comparator {

public static void main(String[] args) {

ArrayList animals = new ArrayList();

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;

} else if (s1.length() == s2.length()) {

return s1.compareTo(s2);

} else {

return -1;

}

} else {

return -1;

}

}

}

python3 自定义排序_Python3中的自定义排序相关推荐

  1. mysqlorderby数字字符串排序_Python中的元组排序和深度比较

    比较Python中的东西.这听起来几乎是不需要教的,但是我发现Python的比较运算符经常被Python新手误解和低估. 我们来回顾一下Python的比较运算符如何处理不同类型的对象,然后看看如何使用 ...

  2. java 排序_Java中常见的排序算法有哪些?---选择排序

    排序相关的的基本概念 排序: 将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): 它是待排序数据对象的有限集合. 排序码(key):通常数据对象有多个属性域, 即多个数据 ...

  3. java中queue排序_Java中常见的排序算法有哪些?---选择排序

    排序相关的的基本概念 排序: 将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): 它是待排序数据对象的有限集合. 排序码(key):通常数据对象有多个属性域, 即多个数据 ...

  4. java map 自动排序_Java中Map的排序

    Map的种类 在Java中,Map的主要作用是存储键值对.由于是根据键得到值,所以不允许键重复.它主要有如下几个类别: HashMap: 最常用的Map,它根据键的HashCode值存储数据,根据键可 ...

  5. python对数字排序_Python中数据的排序

    目录 列表的排序 列表的排序可以使用列表自带的 sort() 方法,也可以使用 sorted() 函数 sort() 方法是修改原列表:而 sorted() 函数是对列表的复制再排序,返回一个新的列表 ...

  6. python升序和降序排序_python中序列的排序,包括字典排序、列表排序、升序、降序、逆序...

    一.基础概念 我们知道python中的内建序列包括字典.列表.元组.字符串等,序列是python中最基本的数据结构. 列表.元组.字符串这类的序列的索引默认第一个元素的索引从0开始,第二个元素的索引是 ...

  7. java util 排序_Java中常见的排序方法

    本博主要介绍Java中几种常见的排序算法: /* 排序方法的演示 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分 ...

  8. html段落自动排序,word中怎么自动排序段落

    对于使用了自动编号的 Word 文档,可以方便地在文档结构图中拖放段落,实现段落的重新排序并自动编号.那么下面就由学习啦小编为大家分享下word中自动排序段落的技巧,希望能帮助您. word中自动排序 ...

  9. java合并排序_Java中的合并排序算法

    合并排序算法是一种分而治之的算法.在分而治之的范式中,一个问题被分解成较小的问题,其中每个小问题仍然保留着大问题的所有属性--大小除外.为了解决原始问题,每个部分都是单独解决的,然后这些部分又合并在一 ...

最新文章

  1. 微信 request 合法域名校验出错
  2. 提高 Github 下载速度的方法「100% 有效」可达到 2MB/s
  3. 深度解析:AWS、谷歌云、IBM Cloud和微软 Azure四巨头2018将会有哪些布局?
  4. 专题 15 TCP套接字编程
  5. Unet实现图像分割(一)
  6. 从零开始的51单片机——VsCode+EIDE环境搭建
  7. input 只输入数字并限制最大输入长度
  8. 使用 python 一键搭建文件服务器
  9. 印度威普罗集团斥资5 亿美元收购云计算解决方案供应商 Appirio
  10. 数据可视化,必须注意的30个小技巧!
  11. 【HRBUST - 1613】迷宫问题 (bfs)
  12. TensorFlow7-多元线性回归模型
  13. Java多线程编程核心技术-多线程基础使用
  14. Java内嵌秒表_【Java】Java计时器(秒表)(示例代码)
  15. java基础(5)-集合类1
  16. 李宏毅自然语言处理——Self Attention
  17. 插件对计算机的运行有什么影响吗,电脑插件太多导致电脑运行缓慢怎么办 - 驱动管家...
  18. 太强了,用Python+Excel制作天气预报表!
  19. centos radius mysql_[原创]CentOS下Radius服务器搭建
  20. win10黑屏假死怎么解决

热门文章

  1. 分布式 Spring Cloud 基于 Spring Boot 开发一整套
  2. 最好免费的 HTML5 JS 网站视频播放器收集
  3. 多目标跟踪评价标准(MOT)
  4. Java之抽象类(Abstract Class)与抽象方法(Abstract Method)
  5. 基于物品的协同过滤mysql_百万用户,八十万商品,如何计算基于物品的协同过滤...
  6. 4g内存电脑装xp系统怎么样_系统坏了?去店了重装系统又贵?今天手把手教你如何重装系统...
  7. php删除下拉框记录,删除一条数据_php删除一条记录(删除确认提示)
  8. 有关计算机方面的知识竞赛,关于计算机知识竞赛试题
  9. 文本导入数据到oracle_教你如何把文本数据导入Oracle中
  10. CodeForces 828C String Reconstruction(并查集思想)