精华内容
下载资源
问答
  • 关键字排序

    2017-06-02 15:40:15
    关键字排序
  • 关键字排序关键字排序关键字排序关键字排序
  • 2. 解决思路我们先看看简单的2个关键字排序,有以下两种方式:先进行第一关键字排序,再进行第二关键字排序;先进行第二关键字排序,再进行第一关键字排序。这两种排序顺序,结果会有什么不同...

    1. 问题引入

    在排序问题中,经常会遇到使用多个关键字进行排序。比如说,按照字母顺序对一批学生姓名进行排序,如果第一个字母相同,则按照第二个字母顺序排序,以此类推。这就会导致,多个关键字出现时,怎么去协调关键字的顺序呢?

    2. 解决思路

    我们先看看简单的2个关键字排序,有以下两种方式:

    先进行第一关键字排序,再进行第二关键字排序;

    先进行第二关键字排序,再进行第一关键字排序。

    这两种排序顺序,结果会有什么不同吗?很显然,靠后面的关键字排序,可能会打乱前面关键字的排序。举个简单的例子就很容易理解了。

    cb44f3563f5717fb60f83fa7bc3649bb.png

    设列表 lst = [(2, 2), (1, 1), (1, 3)],对该列表进行升序排序,如果第一个元素相同,则按照第二个元素升序排序。

    很显然,第一关键字是第一个元素,第二关键字是第二个元素。

    方式一:先进行第一关键字排序,再进行第二关键字排序

    lst = [(2, 2), (3, 1), (1, 3)]

    lst.sort(key=lambda x: x[0])# 先对第1个关键字排序

    lst.sort(key=lambda x: x[1])# 再对第2个关键字排序

    print(lst)# 输出的结果为[(1, 1), (2, 2), (1, 3)]

    方式二:先进行第二关键字排序,再进行第一关键字排序

    lst = [(2, 2), (3, 1), (1, 3)]

    lst.sort(key=lambda x: x[1])# 先对第2个关键字排序

    lst.sort(key=lambda x: x[0])# 再对第1个关键字排序

    print(lst)# 输出的结果为[(1, 1), (1, 3), (2, 2)]

    从上面的例子中可以看出,不同关键字顺序的排序方式导致了最终排序的结果也不同。

    方式二的排序方式才是我们想要的结果;

    方式一的结果为什么错了呢?原因是我们想要第一关键字进行排序,但是进行第二关键字排序时,打乱了第一关键字的排序方式,导致结果不符合我们的预期。

    3. 总结

    在进行多关键字排序时,如果是按照关键字分步进行排序时,按照关键字逆序的顺序进行排序,就能得到我们想要的结果了。比如由3个关键字,应该先进行第三关键字排序,再进行第二关键字排序,最后进行第一关键字排序。

    到这里还未结束,因为我们使用的编程语言是Python,Python列表为我们提供的sort函数功能远不止此。一天天没事做,净整那些花里胡哨的,还有什么是一句Python代码不能搞定的 :

    lst.sort(key=lambda x: (x[0],x[1]))# 直接按照顺序,第一关键字先,第二关键字后

    如果由N个关键字,可以写成如下:

    lst.sort(key=lambda x: (第1关键字 , 第2关键字 , ......))

    如果有帮助,还望少侠留下你的赞!感谢支持。

    展开全文
  • 一、当排序关键字多于1个时,我们使用lambda表达式来描述关键字keyarr=[(1,4,3),(1,3,3),(2,1,4),(3,5,1)]arr.sort(key=lambda s:(s[0],s[1])) #两个关键字排序print(arr) # 可以看到输出结果是根据列表中元组的第一...

    一、当排序关键字多于1个时,我们使用lambda表达式来描述关键字key

    arr=[(1,4,3),(1,3,3),(2,1,4),(3,5,1)]

    arr.sort(key=lambda s:(s[0],s[1])) #两个关键字排序

    print(arr) # 可以看到输出结果是根据列表中元组的第一项和第二项排序

    [(1, 3, 3), (1, 4, 3), (2, 1, 4), (3, 5, 1)]

    二、若我想让第一个关键字正序,第二个关键字倒序,该怎么办呢?

    arr=[(1,4,3),(1,3,3),(2,1,4),(3,5,1)]

    arr.sort(key=lambda s:(s[0],-s[1])) #两个关键字排序,在需要倒序排列的关键字前加`-`号

    print(arr)

    [(1, 4, 3), (1, 3, 3), (2, 1, 4), (3, 5, 1)]

    ————————————————

    版权声明:本文为CSDN博主「wyc-」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/qq_28120673/article/details/98993207

    展开全文
  • 关键字排序

    2014-04-01 17:01:25
    实现从文件中读取数据进行排序,也可以实现自己输入数据进行多关键字排序
  • 一、当排序关键字多于1个时,我们使用lambda表达式来描述关键字keyarr=[(1,4,3),(1,3,3),(2,1,4),(3,5,1)]arr.sort(key=lambda s:(s[0],s[1])) #两个关键字排序print(arr) # 可以看到输出结果是根据列表中元组的第一...

    一、当排序关键字多于1个时,我们使用lambda表达式来描述关键字key

    arr=[(1,4,3),(1,3,3),(2,1,4),(3,5,1)]

    arr.sort(key=lambda s:(s[0],s[1])) #两个关键字排序

    print(arr) # 可以看到输出结果是根据列表中元组的第一项和第二项排序

    [(1, 3, 3), (1, 4, 3), (2, 1, 4), (3, 5, 1)]

    二、若我想让第一个关键字正序,第二个关键字倒序,该怎么办呢?

    arr=[(1,4,3),(1,3,3),(2,1,4),(3,5,1)]

    arr.sort(key=lambda s:(s[0],-s[1])) #两个关键字排序,在需要倒序排列的关键字前加`-`号

    print(arr)

    [(1, 4, 3), (1, 3, 3), (2, 1, 4), (3, 5, 1)]

    ————————————————

    版权声明:本文为CSDN博主「wyc-」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/qq_28120673/article/details/98993207

    展开全文
  • Excel 如何排序与多关键字排序

    千次阅读 2019-08-28 17:08:17
    Excel 如何排序与多关键字排序 在使用Excel时,对每项录入了数据后,需要对它们进行排序,如何实现呢? 唯一关键字排序 排序前原表格如下: 我们需要以“总分”为关键字排降序, 1、选定“总分”所在的列; 2、...

    Excel 如何排序与多关键字排序

    • 在使用Excel时,对每项录入了数据后,需要对它们进行排序,如何实现呢?

    唯一关键字排序

    • 排序前原表格如下:在这里插入图片描述
    • 我们需要以“总分”为关键字排降序,
    • 1、选定“总分”所在的列;
      在这里插入图片描述
    • 2、点击工具栏右上角的“排序和筛选”里面的“降序”;
      在这里插入图片描述
    • 3、最后点击“排序”即可。
      在这里插入图片描述
    • 结果就是这样的:
      在这里插入图片描述

    多关键字排序

    • 对于总分相同的,我们想按照“语文”降序排列,
    • 难道需要对于每一部分总分相同的,都按“语文”分别排序一次吗?
    • 不需要,可以一次排序搞定!!!
    • 1、选定整块区域;
      在这里插入图片描述
    • 2、点击右上角“排序和筛选”里面的“自定义排序”;
      在这里插入图片描述
    • 3、根据需要依次添加关键字;
      在这里插入图片描述
    • 4、最后点击“确定”。
      在这里插入图片描述
    • 就可以达到想要的效果了!!!
      在这里插入图片描述
    • 以上教程希望能对你有所帮助。
    展开全文
  • SQL ORDER BY Keyword(按关键字排序)ORDER BY 关键字用于对结果集进行排序。SQL ORDER BY 关键字ORDER BY 关键字用于按升序或降序对结果集进行排序。ORDER BY 关键字默认情况下按升序排序记录。如果需要按降序对记录...
  • 关键字排序实验

    2018-07-08 00:40:00
    了解多关键字的使用范围,并实现对牌照按多关键字排序后的快速查找。 【问题描述】 为加快速度需先对数据记录按关键字排序,在汽车数据模型中,汽车是关键字,而且是具有结构特点的一类关键字。因为汽车牌照是汉字...
  • 关键字排序。c++

    2020-02-25 18:20:12
    基于多关键字排序/基数排序的长方形排列。
  • 文章目录1. 问题引入2....先进行第一关键字排序,再进行第二关键字排序; 先进行第二关键字排序,再进行第一关键字排序。 这两种排序顺序,结果会有什么不同吗?很显然,靠后面的关键字排序,可能会打乱前
  • SORTBY函数同样也是排序函数,但是与SORT函数不一样的是:SORT函数只对一个关键字进行排序,而SORTBY可以对多个关键字进行排序。SORTBY语法第一个参数array, 表示需要进行排序的数据区域或者数组;第二个参数 by_...
  • .txt文档关键字排序

    2014-01-10 10:45:52
    文档关键字排序,载入.txt文档,英文格式,可以查询每个单词的词频,以及词频前十的关键字并且显示
  • 简要阐述: 在解决问题的时候,经常会有一些排序问题。...多关键字排序中sort()函数和结构体的使用: 1、在结构体中重载比较符" < ": struct node{ int a,b,c; bool operator < (const ...
  • 关键字排序的实现

    2013-03-15 11:52:06
    武汉理工大学数据结构课程设计,多关键字排序的实现
  • 标题多关键字排序 题目描述: 有N个学生的数据,将学生数据按成绩高低排序(高在前低在后),如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序(从小到大),并输出N个学生排序后...
  • 数据结构——多关键字排序 问题描述:多关键字的排序有其一定的实用范围。例如:在进行高考分数处理时,除了需对总分进行排序外,不同的专业对单科分数的要求不同,因此尚需在总分相同的情况下,按用户提出的单科...
  • 然后您可以按时间对列表进行排序。public class TimeValue {LocalTime time;int value;public TimeValue(LocalTime time, int value) {this.time = time;this.value = value;}public LocalTime ...
  • 模糊搜索关键字排序

    2019-07-12 10:39:02
    模糊搜索关键字排序 先显示关键字再显示其他 按用户城市排序 根据用户位置进的拍前面 先是城市后面省 再发布时间最前面 再是注册时间` ` SELECT * FROM (SELECT count(c.qid) as count_hd,c.additem1,g.* FROM ju_...
  • 结构体+多关键字排序

    2019-02-12 23:44:59
    原题https://www.luogu.org/problemnew/show/P1068 题解 结构体+多关键字排序
  • 排序9.6 基数排序9.6.1 多关键字排序9.6.2 链式基数排序 9.6 基数排序 基数排序又被称为桶排序。与前面介绍的几种排序方法相比较,基数排序和它们有明显的不同。前面所介绍的排序方法都是建立在对数据元素关键字进行...
  • python在2.4版本之后加入了使用关键字排序的功能。sort()以及sorted()均可使用关键字排序。 在2.6版本后python简化了关键字排序的使用方法,主要分为三类关键字使用方法: from operater import * # 假装我创建了一...
  • Python 通过某个关键字排序字典列表

    千次阅读 2019-12-20 13:04:51
    文章目录通过某个关键字排序字典列表问题解决方法代码解析 通过某个关键字排序字典列表 问题 假设有一个字典列表,需求是根据某个或者某几个字典字段来排序这个列表? 解决方法 在上篇文章【Python 通过某个字段将...
  • 在单机环境下按多关键字对大数据排序需要较长的执行时间,为了提高按多关键字对大数据排序的效率,根据Hadoop的MapReduce模型,给出了两种基于Hadoop的多关键字排序方法。方法一在Reduce函数中使用链式基数排序算法...
  • 数据结构 多关键字排序

    千次阅读 2017-12-31 16:12:56
    关键字排序 一、实验目的   了解多关键字的使用范围;编写程序实现多关键字的排序。 二、实验原理 依次根据某位进行排序,排好序后更新a[i],最后得到的就是根据每位排好序的a[i]  LSDSort()函数:cnt...
  • 关键字排序LSD实现

    2010-10-13 11:31:05
    一个简单mfc 实现 的多关键字 排序,按照lsd 算法实现。写得不好,请提供修改意见。!!!!
  • 数据结构课设 关键字排序 基数排序 自己两天的成果哦 代码可以成功运行的 其中使用了随机数产生器

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,693
精华内容 8,677
关键字:

关键字排序