精华内容
下载资源
问答
  • python 列表排序

    2018-04-27 11:53:56
    今天,我们一起看一下python中关于列表排序的一些知识。 有些时候我们希望对列表进行排序后,列表可以保存我们排序后的结果,但是很多情况下我们只是希望通过列表的排序,临时的显示排序结果而已。所以对于列表的...

    在我们实际使用中,对于列表的操作是十分常见的。对于列表的数据,在很多特殊的情况下我们需要对列表内的数据进行排列以达到我们特定的显示需求。今天,我们一起看一下python中关于列表排序的一些知识。

    有些时候我们希望对列表进行排序后,列表可以保存我们排序后的结果,但是很多情况下我们只是希望通过列表的排序,临时的显示排序结果而已。所以对于列表的排序可以分为永久性的排序和临时性的排序。

    sort()
    sort()函数可以轻松的对列表进行排序。还是以上篇出现的列表为例。我们希望对成员列表通过名字的字母顺序进行排序。

    
    #group members
    group_members = ["zhangsan","lisi","wangwu","zhaoliu"];
    print(group_members);
    
    group_members.sort();
    
    print(group_members);print(group_members);

    现在我们看下经过排序后列表的变化:

    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['lisi', 'wangwu', 'zhangsan', 'zhaoliu']

    列表经过sort排序后,其内的数据结构永久性的发生变化。

    当然了,我们还可以对其进行反向排序,这里我们的使用sort的一个参数(reverse=true).

    def sort(self, *, key: Optional[Callable[[_T], Any]] = ..., reverse: bool = ...)

    下面我们按照字母的逆序进行排序:

    group_members.sort(reverse=True);

    其他不变,只是修改传入sort函数的参数。

    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['zhaoliu', 'zhangsan', 'wangwu', 'lisi']
    

    结果也是永久性的改变,字母数序是按照字母表的逆序来排列。

    当然了,不是所有情况下我们都需要永久性的修改列表,python同样提供了临时修改列表的方法。

    sorted()
    sorted函数保留了原来列表的排列顺序,同时又以特定的顺序呈现它们,该函数能够让我们以特定的方式显示列表内容同时又不改变列表的原始排列顺序。

    #group members
    group_members = ["zhangsan","lisi","wangwu","zhaoliu"];
    print(group_members);
    print(sorted(group_members));

    输出:

    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['lisi', 'wangwu', 'zhangsan', 'zhaoliu']
    
    

    这里同样可以对其进行反向排序。使用方法和sort函数相同,使用reverse=True参数。

    print(sorted(group_members,reverse=True));

    反转列表

    假如我们在列表内存储了我们最近一年内买的所有书籍,并且是根据购买书籍的顺序存入列表中的,有一天你突然想看下最近购买的书籍,并且你希望是购买书籍的时间距离现在越近,那么它的顺序就排在前面。

    那么现在我们该怎么办呢?当然了,学习过编程的朋友可能会说,使用一个循环反向打印列表就好了,可是到现在我们还没有学习怎么使用循环语句。有没有现成的方法能够帮助我们解决这个问题呢?

    当然有,python提供了一个名为reverse的函数,该函数可以反转列表的排列顺序,这里的改变是永久性的。当然了,你可以很方便的还原原始顺序,再使用一次reverse就好了。

    #group members
    group_members = ["zhangsan","lisi","wangwu","zhaoliu"];
    
    print(group_members);
    #reverse array
    group_members.reverse()
    print(group_members);
    group_members.reverse()
    print(group_members);
    

    输出:

    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['zhaoliu', 'wangwu', 'lisi', 'zhangsan']
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    

    可以看到经过两次反转后列表又是我们的原始列表了。

    这里我们在说一下len()函数,通过这个函数我们可以方便的获取列表的长度。

    #group members
    group_members = ["zhangsan","lisi","wangwu","zhaoliu"];
    
    #print group members
    print(len(group_members));

    输出:

    4

    当然了,与列表相关的函数有很多,我们就不一一介绍,等我们碰到的时候在细说。

    展开全文
  • Java列表排序更新

    千次阅读 2017-12-20 16:59:17
    在项目里碰到一个需求,关于列表排序的,刚开始思路一直在基础的列表排序算法上,想了半天也没想出来怎么处理这种情况,越想越复杂。在网上查询资料的时候,意识到可以利用数据库本身去做排序更新,感觉思路比较新颖...

    在项目里碰到一个需求,关于列表排序的,刚开始思路一直在基础的列表排序算法上,想了半天也没想出来怎么处理这种情况,越想越复杂。在网上查询资料的时候,意识到可以利用数据库本身去做排序更新,感觉思路比较新颖,因此在这里做个记录。


    需求: 一个位置列表,初始的时候记录是没有排序序号的,用户可以随意设置每条记录的排序序号,设置完后,后台要更新数据,并完成其余数据的更新,并且最终的数据一定要是按顺序排列的,中间不能有间隔值。例如:原本 a:1、b:2、c:3、d:43的位置要更新为8,那么最终的排序排序应该是:a:1、b:2、d:3、c:4

    思路:

    三个变量:原本的位置m,要修改的位置n,当前排序最大值max。

    // 以下为伪代码
    if(n > max + 1) {
        n = max+1;
    }
    if(是新增数据){
        if max>=n {
            update table set sort=sort+1 where sort>=n and sort<=max
        }
    } else if(修改数据) {
        if m>n {
            update table set sort=sort+1 where sort>=n and sort<m
        }
        else if m<n {
            update table set sort=sort-1 where sort>m and sort<=n
        }
    }
    update table set num = n where id = 业务数据ID  

    ————本文结束感谢您的阅读————

    展开全文
  • python中列表排序,字典排序,列表中的字典排序

    万次阅读 多人点赞 2019-05-13 13:19:20
    列表排序 方法1: 没有返回值 list1 = [2, 1, 4, 5, 3] print("最开始数据:{}".format(list1)) # 升序 list1.sort() print("升序后数据:{}".format(list1)) list1 = [2, 1, 4, 5, 3] print("最开始数据:{}"....

    一  列表的排序

    方法1: 没有返回值 

    list1 = [2, 1, 4, 5, 3]
    print("最开始数据:{}".format(list1))
    # 升序
    list1.sort()
    print("升序后数据:{}".format(list1))
    list1 = [2, 1, 4, 5, 3]
    print("最开始数据:{}".format(list1))
    # 降序
    list1.sort(reverse=True)
    print("升序后数据:{}".format(list1))

    2.方法2:有返回值

    list1 = [2, 1, 4, 5, 3]
    print("最开始数据:{}".format(list1))
    # 升序
    list2 = sorted(list1)
    print("升序后数据:{}".format(list2))
    list1 = [2, 1, 4, 5, 3]
    print("最开始数据:{}".format(list1))
    # 降序
    list2 = sorted(list1, reverse=True)
    print("升序后数据:{}".format(list2))

     

    二 字典的排序

    方式1:

    里面三个参数

    dict1.items() #可迭代元素。

    key= lambda dict1:dict1[0]  #dict1[0]表示按键,dict1[1]表示按值。

    reverse #默认是False,升序排列。当值为True时是降序排列。

    按照键进行排序

    dict1 = {"name": "Kevin", "age": "27", "gender": "true"}
    # 升序
    dict2 = sorted(dict1.items(), key=lambda dict1: dict1[0], reverse=False)
    print("开始的字典数据:{}".format(dict1))
    print("按照键进行升序后的数据:{}".format(dict2))
    
    dict1 = {"name": "Kevin", "age": "27", "gender": "true"}
    # 降序
    dict2 = sorted(dict1.items(), key=lambda dict1: dict1[0], reverse=True)
    print("开始的字典数据:{}".format(dict1))
    print("按照键进行降序后的数据:{}".format(dict2))

     

      

    按照值进行排序

    dict1 = {"name": "Kevin", "age": "27", "gender": "true"}
    # 升序
    dict2 = sorted(dict1.items(), key=lambda dict1: dict1[1], reverse=False)
    print("开始的字典数据:{}".format(dict1))
    print("按照值进行升序后的数据:{}".format(dict2))
    
    dict1 = {"name": "Kevin", "age": "27", "gender": "true"}
    # 降序
    dict2 = sorted(dict1.items(), key=lambda dict1: dict1[1], reverse=True)
    print("开始的字典数据:{}".format(dict1))
    print("按照值进行降序后的数据:{}".format(dict2))

     

      

     

    三 包含字典dict的列表list的排序方法

    方法1:使用 operator进行排序

    import operator
    
    list1 = [{'name': 'Kevin', 'age': 27}, {'name': 'Ling', 'age': 23}]
    # 升序
    list2 = sorted(list1, key=operator.itemgetter('age'))
    print("开始列表:{}".format(list1))
    print("升序后列表:{}".format(list2))
    
    # 降序
    list2 = sorted(list1, key=operator.itemgetter('age'), reverse=True)
    print("开始列表:{}".format(list1))
    print("降序后列表:{}".format(list2))

      

    方法1:使用 lambda 进行排序

      

    list1 = [{'name': 'Kevin', 'age': 27}, {'name': 'Ling', 'age': 23}]
    # 升序
    list2 = sorted(list1, key=lambda list1: list1["age"])
    print("开始列表:{}".format(list1))
    print("升序后列表:{}".format(list2))
    
    # 降序
    list2 = sorted(list1, key=lambda list1: list1["age"], reverse=True)
    print("开始列表:{}".format(list1))
    print("降序后列表:{}".format(list2))

     

    展开全文
  • 如何对List列表排序,对象列表排序

    千次阅读 2018-06-29 16:44:23
    Java列表中如何根据列表中的对象某一属性或者多个属性值大小对列表进行排序呢?一般我们会想到冒泡排序等等算法 ,其实完全不需要,Collections基于二叉树排序算法的sort可以帮我们快速有效的进行排序。 如下代码:

    Java列表中如何根据列表中的对象某一属性或者多个属性值大小对列表进行排序呢?一般我们会想到冒泡排序等等算法 ,其实完全不需要,Collections基于二叉树排序算法的sort可以帮我们快速有效的进行排序。

     Collections.sort(someObjList, new Comparator<SomeObject>() {
                public int compare(SomeObject s1, SomeObject s2) {
                    return s1.getProperties().compareTo(s2.getProperties());
                }
            });
    

    这里定义的对象属性时int型的。

    然而如果你知道Lambda表达式的话,上面的代码只需要一行就好了

    Collections.sort(list,(Object u1,Object u2)->(u1.compareTo(u2)));
    是不是很诡异,哈哈!!

    展开全文
  • 【题目】python中的排序函数sorted以及列表排序方法sort()   概述 Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。如果要读取文件夹下面的文件,...
  • Python列表排序 list.sort方法和内置函数sorted

    万次阅读 多人点赞 2019-05-18 15:17:54
    Python列表排序 list.sort方法和内置函数sorted 很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表. 这时候就可以使用list.sort方法和内置函数sorted,本文就是介绍list....
  • python列表排序及部分内置函数

    千次阅读 2018-11-17 17:09:39
    列表排序 修改原列表,不建新列表的排序 &amp;gt;&amp;gt;&amp;gt; a =[10,30,20,50,40] &amp;gt;&amp;gt;&amp;gt; id(a) 2087215487752 &amp;gt;&amp;gt;&amp;gt; a.sort() #...
  • Python列表排序与倒序

    千次阅读 2018-12-19 13:15:16
    列表排序 sort() sorted() reverse() sort()的使用 letters = ['d','a','e','c','b'] print letters ['d','a','e','c','b'] letters.sort() print letters ['a','b','c','d','e'] sort()会自动...
  • Python3 多维列表排序

    千次阅读 2019-07-22 11:33:38
    @[TOC](Python3 多维列表排序–itemgetter()的使用) from operator import itemgetter gameresult=[["Bob",95.00],'A'],["ALan",86.0,'C'],['Mandy',82.5,'A'],['Rob',86,'E']] res = sorted(gameresult,key=...
  • h5拖拽事件实现列表排序及列表切换
  • 前端实现员工列表排序案例 本案例重点在于逻辑处理,对css样式处理较为简单 1. 实现效果 打开进入页面时,年龄和性别都为默认排序 用户可按照性别进行筛选排序 用户可按照年龄进行筛选排序 实现双重排序,即用户可...
  • 利用jQuery对无序列表排序

    千次阅读 2016-07-12 16:11:46
    2015-07-16 11:53 409人阅读 评论...利用jQuery对无序列表排序的原理是:获取到无序列表中的所有列表项,并转成数组形式,使用JavaScript函数对其进行排序后再次输出。其中使用到的jQuery函数有ready()、get()、text
  • Jenkins使用Git Parameter时参数列表排序问题 背景 我们使用Jenkins进行项目构建,在提测某个tag时,利用Git Parameter插件手动选择tag进行构建。 问题 用于选择的tag列表没有顺序,很不方便选择最新的tag。如下图,...
  • python:列表排序方法

    千次阅读 2018-12-16 22:04:07
    基础排序: 使用Python内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。 sorted()方法: 简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新...
  • wxPython - ListCtrl列表排序

    千次阅读 2014-06-20 21:59:12
    13.4.2 如何对列表排序? 在wxPython中有三个有用的方法可以对列表进行排序,在这一节,我们将按照从易到难的顺序来讨论。 在创建的时候告诉列表去排序 对一个列表控件排序的最容易的方法,是在构造函数中...
  • 关于python的列表排序问题汇总

    千次阅读 2016-08-30 20:29:10
    以下总结了python列表排序,基本上覆盖了所有问题。 # -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('UTF-8') '''列表排序''' '''数据需要排序时,往往会把数据格式转化为列表进行排序'...
  • List实体列表排序Sort

    千次阅读 2014-01-18 16:30:40
    /// /// 数据列表排序 /// /// /// /// private int CompareByProcName(ProcDefaultprocinfoEntity x, ProcDefaultprocinfoEntity y)//从大到小排序器 {
  • android list列表排序

    千次阅读 2012-01-12 13:55:55
    //文件列表排序 Collections.sort(items,String.CASE_INSENSITIVE_ORDER); Collections.sort(paths,String.CASE_INSENSITIVE_ORDER);
  • python练习8----合并列表排序

    千次阅读 2019-07-17 16:13:57
    掌握列表的两个新运用:合并列表和列表排序。 练习要求: 一次测评中,老师将 学习小组A 和 学习小组B 的测评成绩(满分 100 分)从低到高记录放进两个列表: A=[91, 95, 97, 99],B=[92, 93, 96, 98] 。 现在,老师想...
  • python_生成随机数与列表排序

    千次阅读 2018-07-20 13:03:00
    1. 列表排序可采用两种方法 sorted(list) 直接改变list 调用list的方法 list.sort 2. random.randint(a,b) 生成大于等于a小于等于b的整数 random.random() 生成一个在[0,1)区间上的实数 random.choice...
  • python语言中的列表排序方法有三个:reverse反转/倒序排序、sort正序排序、sorted可以获取排序后的列表。在更高级列表排序中,后两中方法还可以加入条件参数进行排序。 reverse()方法 将列表中元素反转排序,比如...
  • 小程序云开发,查询结果列表排序

    千次阅读 2019-08-09 19:30:39
    小程序云开发,查询结果列表排序。 说明: xxx为数据集名称, yyy为查询条件, zzz为需要排序的字段, 如果需要倒序,添加'desc' 如: db.collection('xxx').where({ yyy }).orderBy('zzz','desc').get({.....
  • python对列表排序

    千次阅读 2018-10-11 16:10:37
    1、基础排序:sorted list=sorted([5, 2, 3, 1, 4]) print(list) 输出结果: [1, 2, 3, 4, 5] 2.key参数/函数 key参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较。 例如通过key指定的函数来...
  • python语言中的列表排序方法有三个:reverse反转/倒序排序、sort正序排序、sorted可以获取排序后的列表。在更高级列表排序中,后两中方法还可以加入条件参数进行排序。 reverse()方法 将列表中元素反转排序,比如...
  • 视频地址: python之匿名函数实现对list列表排序 更多精彩内容,敬请扫码关注:  
  • PTA Python 列表排序

    千次阅读 2018-12-18 23:49:57
    输入由10个整数构成的列表,编程只对列表中下标为偶数的元素进行升续排序,下标为奇数的元素保持不动。 输入格式: 输入列表。 输出格式: 输出排序后的列表。 输入样例: 在这里给出一组输入。例如: 52,49,80,36,14,...
  • Pyhon列表排序(升序和降序)

    万次阅读 多人点赞 2020-05-14 21:48:32
    一、sort()方法: list.sort(cmp=None, key=None, reverse=False) cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 key -- 主要是用来进行比较的元素,只有一...#列表升序 list1=['python','java','c++
  • python语言中的列表排序方法有三个:reverse反转/倒序排序、sort正序排序、sorted可以获取排序后的列表。在更高级python list排序中,后两中方法还可以加入条件参数进行排序。 reverse()方法 将列表中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 595,038
精华内容 238,015
关键字:

列表如何排序