精华内容
下载资源
问答
  • 主要介绍了Python对列表排序的方法,实例分析了Python列表排序函数的相关使用技巧,非常简单实用,需要的朋友可以参考下
  • 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指定的函数来...

    1、基础排序:sorted

    list=sorted([5, 2, 3, 1, 4])
    print(list)
    输出结果:
    [1, 2, 3, 4, 5]
    

    2.key参数/函数

    key参数的值为一个函数,此函数只有一个参数且返回一个值用来进行比较。

    例如通过key指定的函数来忽略字符串的大小写:

    list=sorted("This is a test string from Andrew".split(), key=str.lower)
    打印结果:
    ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']

    但是key参数更多的是用复杂对象的某些值来对复杂对象的序列排序:

    复杂语法:

    sorted(iterable, cmp=None, key=None, reverse=False) ===》

    iterable:是可迭代类型;
    cmp:用于比较的函数,比较什么由key决定;
    key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
    reverse:排序规则. reverse = True  降序 或者 reverse = False 升序,有默认值。
    返回值:是一个经过排序的可迭代类型,与iterable一样。

    举例:lambda:

    sorted_list=sorted(four_list,key=lambda x:x["hit_count"],reverse=True)

    解释:four_list:要排序的列表;lambda是一个匿名函数,主体是个表达式,根据“hit_count”排序;reverse=True代表降序

    最简单的lambda例子:定义一个lambda表达式,求三个数的和

    # -*- coding: UTF-8 -*-
    f = lambda x,y,z:x + y + z
    
    print f(1,2,3)
    print f(4,5,6)
    
    输出:
    6
    15

     

     

     

    展开全文
  • Python 不用sort对列表排序

    千次阅读 2018-12-02 11:06:58
    有道面试题: L = [2,3,5,4,9,6,8,7,1],从小到大排序,不许用sort,输出[1,2,3,4,5,6,7,8,9] 如果用sort很简单,如果不用sort的话,处理起来就麻烦些,处理思路大致: 创建一个空列表,遍历原先列表,找出最小值,...

    有道面试题: L = [2,3,5,4,9,6,8,7,1],从小到大排序,不许用sort,输出[1,2,3,4,5,6,7,8,9]

    如果用sort很简单,如果不用sort的话,处理起来就麻烦些,处理思路大致:

    创建一个空列表,遍历原先列表,找出最小值,放到空列表中,原列表弹出该值,直到无值。

    有了上面的思路,就好处理了:

    >>> L = [2,3,5,4,9,6,8,7,1]
    >>> T = []
    >>> while len(L) > 0:
    ...     m = min(L)
    ...     L.remove(m)
    ...     T.append(m)
    >>> T
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    

     

    展开全文
  • python中对列表排序,去重

    千次阅读 2014-01-09 21:36:01
    #(1)方法一:文件一个个进行打开以及去空格等处理成一个字符串的列表 '''with open('james.txt') as jaf: data = jaf.readline() james=data.strip().split(',') with open('julie.txt') as jul: dat
    import sanitize
    import get_data
    #(1)方法一:对文件一个个进行打开以及去空格等处理成一个字符串的列表
    '''with open('james.txt') as jaf:
        data = jaf.readline()
        james=data.strip().split(',')
    with open('julie.txt') as jul:
        data = jul.readline()
        julie=data.strip().split(',')
    with open('mikey.txt') as mik:
        data = mik.readline()
        mikey=data.strip().split(',')    
    with open('sarah.txt') as sar:
        data = sar.readline()
        sarah=data.strip().split(',')'''
    #方法二:利用函数将上面的步骤简化
    james=get_data.get_data('james.txt')
    print(james)
    #(2)方法一:创建列表,迭代,转换,追加
    '''clean_james=[]
    clean_julie=[]
    clean_mikey=[]
    clean_sarah=[]
    for each_t in james:
        clean_james.append(sanitize.sanitize(each_t))
    for each_t in julie:
        clean_julie.append(sanitize.sanitize(each_t))
    for each_t in mikey:
        clean_mikey.append(sanitize.sanitize(each_t))
    for each_t in sarah:
        clean_sarah.append(sanitize.sanitize(each_t))
    print(sorted(clean_james))
    print(sorted(clean_julie))
    print(sorted(clean_mikey))
    print(sorted(clean_sarah))'''
    #方法二:使用列表推导
    '''print(sorted([sanitize.sanitize(each_t) for each_t in james]))
    print(sorted([sanitize.sanitize(each_t) for each_t in julie]))
    print(sorted([sanitize.sanitize(each_t) for each_t in mikey]))
    print(sorted([sanitize.sanitize(each_t) for each_t in sarah]))'''
    #(3)方法一:按要求输出成绩最好的前三个成绩,且不能重复,创建列表,迭代,追加
    '''james2=sorted([sanitize.sanitize(each_t) for each_t in james])
    use_james=[]
    for each_t in james2:
        if each_t not in use_james:
            use_james.append(each_t)
    print(use_james[0:3])'''
    #方法二:按要求输出成绩最好的前三个成绩,且不能重复,set()集合方法,专门用来去除重复项
    #print(sorted(set([sanitize.sanitize(each_t) for each_t in james]))[0:3])
    
    
    
    
    def sanitize(time_string):
        if '-' in time_string:
            splitter='-'
        elif ':' in time_string:
            splitter=':'
        else:
            return(time_string)
        (min,sec)=time_string.split(splitter)
        return (min+'.'+sec)
    

    def get_data(filename):
        try:
            with open(filename) as f:
                data = f.readline()
                return(data.strip().split(','))
        except IOError as err:
            print("File error:"+str(err))
            return(None)
            
    

    NOTE:1)调用的文件**.py都必须在一个文件夹中

                 2)不同.py中利用import调用,代码中一定要加上模块名即*.py的名字,再加上函数名称

                 3)注意这里

             print(sorted(set([sanitize.sanitize(each_t) for each_t in james]))[0:3])
               [0:3]是指从列表中第一个开始的前三个数据项,并非从索引号0到3的四个数据项

               4)sorted()处理的是列表中的每个数据项,并不是整个列表

         

    展开全文
  • 如何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列表排序

    2020-12-21 10:25:07
    关于Python列表排序 sort排序方法 ​ 这个方法可以对列表元素进行排列(默认正向排序),排序后生成的新列表会对原列表进行覆盖(但其id不变),所以sort排序方法会直接修改原列表的排序。 a =[1,3,787,33,86,99] a...
  • 利用jQuery无序列表排序

    千次阅读 2016-07-12 16:11:46
    2015-07-16 11:53 409人阅读 评论...利用jQuery无序列表排序的原理是:获取到无序列表中的所有列表项,并转成数组形式,使用JavaScript函数其进行排序后再次输出。其中使用到的jQuery函数有ready()、get()、text
  • wxPython - ListCtrl列表排序

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

    千次阅读 2018-10-09 15:02:52
    视频地址: python之匿名函数实现list列表排序 更多精彩内容,敬请扫码关注:  
  • 我们有一个字典列表,想根据一个或多个字典中的值来对列表排序。 例如,有如下字典列表,根据字典中的x,由大到小排序这个列表: l = [{'x':1, 'y':2}, {'x':2, 'y':3}, {'x':3, 'y':4}] 解决方案 排序用sorted...
  • python 列表排序

    千次阅读 2018-08-27 00:28:07
    sorted()函数可以按照长短,大小,英文字母的顺序给每个列表的元素进行排序 示例: list = [1,3,4,2,5,2] print(sorted(list)) 使用默认参数reverse后列表可以按照逆序整理: list = [1,3,4,2,5,2] print...
  • python语言中的列表排序方法有三个:reverse反转/倒序排序、sort正序排序、sorted可以获取排序后的列表。在更高级列表排序中,后两中方法还可以加入条件参数进行排序。 reverse()方法 将列表中元素反转排序,比如...
  • 在很多时候需要二维列表的第一个元素或者是第二个元素按照升序或者是降序进行排序,python提供了lambda表达式方便我们自定义排序的规则,可以直接调用列表的sort方法进行排序(会修改当前的列表)或者是直接使用...
  • 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("最开始数据:{}"....
  • python:列表排序方法

    千次阅读 2018-12-16 22:04:07
    使用Python内置sort()方法用来排序,也可以用python内置的全局sorted()方法来可迭代的序列排序生成新的序列。 sorted()方法: 简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的...
  • java对列表数据排序Sometimes we have to sort a list in Java before processing its elements. In this tutorial, we will learn how to sort a list in the natural order. We will also learn how to use our ...
  • ul li列表排序

    千次阅读 2015-09-01 11:18:49
    有这样的需求,就是 li 列表进行排序,刚开始觉得木有什么头绪,就想起以前好像Array.prototype.sort.call可以这样做,可以实现对象的排序,比如 那么对于一个dom列表,怎么做呢。下面有一个JS原生版本的。DOM...
  • 22 - lambda表达式对列表进行排序

    千次阅读 2020-02-16 17:00:59
    利用lambda表达式对列表进行排序
  • python二维列表排序

    千次阅读 2018-10-12 18:46:11
    使用 lambda 关键词辅助二维列表进行排序,假设有一个学生列表存储了学号,姓名,年龄信息: students = [[3,'Jack',12],[2,'Rose',13],[1,'Tom',10],[5,'Sam',12],[4,'Joy',8]] #按学号顺序排序: sorted...
  • 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()会自动...
  • 不区分大小写字符串列表排序

    千次阅读 2013-07-14 15:11:15
    《Python Cookbook(第2版)中文版》第4章引言由David Ascher撰写,本章包括了一些很通用的,...5.2 不区分大小写字符串列表排序 感谢:Kevin Altis、Robin Thomas、Guido van Rossum、Martin V. Lewis、Dave Cross
  • Java实现对象列表排序

    千次阅读 2019-03-22 17:19:35
    如果是Java自定义的对象,需要多个对象进行排序,这里使用Java自身提供的排序函数Collections.sort();但是我们的对象需要支持这个函数,需要做一些改动。有两种方式实现,第一种是自定义对象实现Comparable接口,...
  • 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=...
  • Python对列表中的列表进行排序

    千次阅读 2020-02-26 20:33:54
    之前写过一个对列表中的字典进行排序的文章,之所以又写是因为我确实遇到了这样的题目,如果要求数据按照一定的格式存储但是又不允许使用字典那该怎么办?下面是我的作业题:将学生信息存入但是要用列表存储,相应的...
  • Pyhon列表排序(升序和降序)

    万次阅读 多人点赞 2020-05-14 21:48:32
    一、sort()方法: list.sort(cmp=None, key=None, reverse=False) cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 key -- 主要是用来进行比较的元素,只有一...#列表升序 list1=['python','java','c++

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 493,945
精华内容 197,578
关键字:

对列表排序