精华内容
下载资源
问答
  • python list排序小结def sort1():"""基础排序:return:"""list1 = [11, 78, 43, 89, 81, 52]print(list1)# 对list1升序排列,此时list1中的数值被修改print(sorted(list1)) # [11, 43, 52, 78, 81, 89]# 对list1中的...

    python list排序小结

    def sort1():

    """

    基础排序

    :return:

    """

    list1 = [11, 78, 43, 89, 81, 52]

    print(list1)

    # 对list1升序排列,此时list1中的数值被修改

    print(sorted(list1)) # [11, 43, 52, 78, 81, 89]

    # 对list1中的数值反序排列

    print(sorted(list1, reverse=True))

    def sort2():

    """

    带key参数的排序

    :return:

    """

    person_list = [

    ('bob', 15),

    ('alice', 12),

    ('davidde', 10),

    ] # 不管列表中的元素是元组、列表还是类对象, 这类排序方式都同样适用

    # person_list = [

    # ['bob', 15],

    # ['alice', 12],

    # ['davidde', 10],

    # ]

    # 采用这种排序方式不会改变原来列表的值, 只是把排序的结果以返回值的方式返回

    # 以每个元组第二个值为排序条件, 默认是升序排列, 若要降序排序添加参数reverse=True

    sorted_person_list = sorted(person_list, key=lambda person: person[1])

    print(person_list) # [('bob', 15), ('alice', 12), ('davidde', 10)]

    print(sorted_person_list) # [('davidde', 10), ('alice', 12), ('bob', 15)]

    # 以每个元组第一个值为排序条件, 降序排列

    sorted_person_list2 = sorted(person_list, key=lambda person: person[0], reverse=True)

    print(person_list) # [('bob', 15), ('alice', 12), ('davidde', 10)]

    print(sorted_person_list2) # [('davidde', 10), ('bob', 15), ('alice', 12)]

    if __name__=="__main__":

    sort1()

    sort2()

    展开全文
  • How can I sort this list in descending order?我如何按降序排列這個列表?timestamp = ["2010-04-20 10:07:30","2010-04-20 10:07:38","2010-04-20 10:07:52","2010-04-20 10:08:22","2010-04-20 10:08:22","2010-...

    How can I sort this list in descending order?

    我如何按降序排列這個列表?

    timestamp = [

    "2010-04-20 10:07:30",

    "2010-04-20 10:07:38",

    "2010-04-20 10:07:52",

    "2010-04-20 10:08:22",

    "2010-04-20 10:08:22",

    "2010-04-20 10:09:46",

    "2010-04-20 10:10:37",

    "2010-04-20 10:10:58",

    "2010-04-20 10:11:50",

    "2010-04-20 10:12:13",

    "2010-04-20 10:12:13",

    "2010-04-20 10:25:38"

    ]

    5 个解决方案

    #1

    280

    In one line, using a lambda:

    在一行中,使用lambda:

    timestamp.sort(key=lambda x: time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6], reverse=True)

    Passing a function to list.sort:

    將一個函數傳遞到列表。

    def foo(x):

    return time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6]

    timestamp.sort(key=foo, reverse=True)

    #2

    277

    This will give you a sorted version of the array.

    這會給你一個排序的數組。

    sorted(timestamp, reverse=True)

    If you want to sort in-place:

    如果你想進行排序:

    timestamp.sort(reverse=True)

    #3

    37

    You can simply do this:

    你可以這樣做:

    timestamp.sort(reverse=True)

    #4

    7

    Since your list is already in ascending order, we can simply reverse the list.

    由於您的列表已經按升序排列,我們可以簡單地將列表倒過來。

    >>> timestamp.reverse()

    >>> timestamp

    ['2010-04-20 10:25:38',

    '2010-04-20 10:12:13',

    '2010-04-20 10:12:13',

    '2010-04-20 10:11:50',

    '2010-04-20 10:10:58',

    '2010-04-20 10:10:37',

    '2010-04-20 10:09:46',

    '2010-04-20 10:08:22',

    '2010-04-20 10:08:22',

    '2010-04-20 10:07:52',

    '2010-04-20 10:07:38',

    '2010-04-20 10:07:30']

    #5

    2

    you simple type:

    你簡單類型:

    timestamp.sort()

    timestamp=timestamp[::-1]

    展开全文
  • 代码环境:python3.6两者简单对比如下:list.sort是原列表排序,而sorted会返回新列表;可选参数key和reverse的意义和用法都一样。reverse 用法最简单,reverse=True时降序输出,reverse=False时升序输出。这个参数...
    代码环境:python3.6

    两者简单对比如下:

    bb41d3634cc96ebb53787c33260b40f1.png
    1. list.sort是原列表排序,而sorted会返回新列表;
    2. 可选参数keyreverse的意义和用法都一样。

    reverse 用法最简单,reverse=True时降序输出,reverse=False时升序输出。这个参数的默认值是False

    key 是一个函数,我们可以用 python 内置函数或自定义函数,让序列按我们想要的方式进行排序,下面我们用代码感受一下:

    In [1]: a_list = [36, 5, -12, 9, -21]
    
    In [2]: b_list = [36, 5, -12, 9, -21]
    
    In [3]: sorted(a_list)
    Out[3]: [-21, -12, 5, 9, 36]
    
    In [4]: a_list
    Out[4]: [36, 5, -12, 9, -21]
    
    # 按映射后的绝对值排序
    In [5]: sorted(a_list, key=abs)
    Out[5]: [5, 9, -12, -21, 36]
    
    In [6]: b_list.sort()
    
    In [7]: b_list
    Out[7]: [-21, -12, 5, 9, 36]
    
    In [8]: c_list = ['bob', 'about', 'Zoo', 'Credit']
    
    In [9]: sorted(c_list)
    Out[9]: ['Credit', 'Zoo', 'about', 'bob']
    
    # 忽略大小写,按字母顺序排序
    In [10]: sorted(c_list, key=str.lower)
    Out[10]: ['about', 'bob', 'Credit', 'Zoo']
    
    # 按字符串长度排序
    In [11]: sorted(c_list, key=len)
    Out[11]: ['bob', 'Zoo', 'about', 'Credit']

    上面我们只用了key是内置函数的情况,下面用另一个例子看看key是自定义函数的用法。

    给出一个列表L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)],列表中每个元素包括了学生的姓名和成绩。要求:

    1. 按名字排序;
    2. 按成绩从高到低排序。
    L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
    
    
    def order_by_name(arg_tuple):
        # 元组参数传进来直接映射为元祖的第1个元素,返回进行对比
        return arg_tuple[0]
    
    
    def order_by_score(arg_tuple):
        # 元组参数传进来直接映射为元祖的第2个元素,返回进行对比
        return arg_tuple[1]
    
    
    if __name__ == "__main__":
        print('默认排序结果:{}'.format(sorted(L)))
        print('按姓名排序结果:{}'.format(sorted(L, key=order_by_name)))
        print('按成绩排序结果:{}'.format(sorted(L, key=order_by_score, reverse=True)))
    
    
    # 运行结果:
    # 默认排序结果:[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
    # 按姓名排序结果:[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
    # 按成绩排序结果:[('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]
    展开全文
  • list.sortlist.sort方法将对该list就地(in place)做排序,即不生成新对象(不对原对象做拷贝)。该函数返回None,表明对原对象做修改。Python中API的不成文的规定:标明返回None的函数,表明对该对象原地(in ...

    ed0c064b504226e805f5d8a76234c3c5.png
    引自《Fluent Python》影印版P42,比较list.sort和内建sorted函数。以及官方文档。

    list.sort

    list.sort方法将对该list就地(in place)做排序,即不生成新对象(不对原对象做拷贝)。该函数返回None,表明对原对象做修改。

    Python中API的不成文的规定:标明返回None的函数,表明对该对象原地(in place)修改,即修改原对象,无新对象产生。但这样也有一个缺点:无法串联使用。比如,无法这样编写代码:(list.sort).sort

    sorted Built-in Function

    相反,内置的sorted函数可以创造并返回一个新的list。其实sorted函数可接受任意的iterable object,包括不可变序列和生成器。

    相同点

    两者都只接受两个参数:reverse和key

    • reverse : 如果为True,代表降序排列,默认为False
    • key:一个只有一个参数的函数,这个函数会被用在序列里的每一个元素上,所产生的结果将是排序算法依赖的对比关键字。比如说,在对一些字符串排序时,可以用key=str.lower 来实现忽略大小写的排序,或者是用 key=len 进行基于字符串长度的排序。

    为了更好的理解,请阅读如下代码:

    fruits 

    key的应用

    上节提到的key参数,为排序时的比较算法提供了很大的灵活性。举个例子:

    student_tuples 

    上例子中,用lambda函数定义了比较算法(即提取学生成绩),将其赋予key。

    同样也可以用于object实例:

    class 

    Operator Module Functions

    由于在Python中经常需要key-function模式的参数,所以提供了方便的用于容易、快速的访问函数。即 operator模块下的itemgetter(),attrgetter(),和methodcaller().

    直接看例子:

    from 

    operator模块函数还允许多层排序,比如先按成绩排序,再按年龄排序:

    sorted
    展开全文
  • 这时就需要用到行排序,按数据的升序、降序排列可以快速找到一列数值的极值。dplyr包是数据处理很强大的一个包,包中的arrange()函数可以对数据进行排序。1. 数据准备1.1 创建数据集创建三个向量,并生成一个简单...
  • 前两天有给大家分享到关于python列表的一些小知识。Python中遍历列表方法知多少python列表的经典...使用列表对象的sort()方法实现sort方法语法格式:listname.sort(key = none,reverse = False)参数说明:listname: ...
  • python 3.6.8 numpy 1.16.4 pandas 0.24.2 tensorflow==2.0.0-beta1 #tensorflow-gpu==2.0.0-beta1 slows sorting pytorch 1.1 Python Python 包含两个内置的排序方法: my_list.sort() 会修改列表本身的排序顺序,...
  • Series第八讲 重塑/排序本节课将讲解Pandas-Series的重塑(Reshaping)与排序(sorting)。重塑顾名思义即改变数据的形状。计算/描述统计(下)Series.argsort()Series.argmin()Series.argmax()Series.reorder_levels()...
  • CollectionCollection集合体系Collection是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法,所有集合都是它的子类,比如 List、Set 等。Collections是一个包装类,...Collections.sort排序内部原理Col...
  • 它们都可以排序,且用法类似,但sort()是在原地排序的,不会返回排序后的列表,而sorted()是返回新的排序列表。1 >>> help(list.sort)2 Help on method_descriptor:34 sort(...)5 L.sort(key=None, reverse...
  • 问题:假如你遇到以下的情形,有一张以json格式存在的学生成绩列表(score_list) 的需要按照成绩从高到低排列.[ { "name": "张全蛋", "score": 78 }, { "name": "李子柒", "score": 66 }, { "name": "李永乐", ...
  • 如果排序要求是按照每个字符串的最后一个字母对可迭代序列进行排序(如果最后一个字母是相同的,就使用倒数第二个字母),那么就可以定义一个函数用来排序。下面的例子定义了一个函数,其功能是反转字符串序列,然后将...
  • javalistList是Java中比较常用的调集类,关于List接口有许多完成类,本文就来简略介绍下其间几个重点的完成ArrayList、LinkedList和Vector之间的联系和差异。List是一个接口,它承继于Collection的接口。它代表着...
  • List 集合排序 降序&升序

    千次阅读 2019-06-20 11:17:52
    /**先排序降序 然后取前10 b1在后是升序*/ Collections.sort(portraitReportVos, new Comparator<PortraitReportVo>() { public int compare(PortraitReportVo o1, PortraitReportVo o2){ BigDecimal b1 =...
  • struts2中sort标签默认是按升序排列的,如果想按降序排列按照以下方法即可。  &lt;s:bean id="myComparator" name="com.tfyy.yx.util.system.MyComparator"&gt;&lt;/s:bean&gt...
  • List.Sort有三种结果 1,-1,0分别是大,小,相等升序降序比较,默认List排序是升序排序如果要降序排序,也很简单,只需要在前面加一个负号List tmp = new List(){5,1,22,11,4};// 升序tmp.Sort((x, y) => x....
  • C# List.sort排序详解(多权重,升序降序)來源:互聯網2016-05-20 12:31:17評論C# List.sort排序详解(多权重,升序降序)很多人可能喜欢Linq的orderBy排序,可惜U3D里面linq在Ios上会报错,所以就必须使用list排序。...
  • /** * 降序 * 根据list集合中ConfigDistribution对象的count属性 */ private List<... listSort(List<ConfigDistribution> list) { Collections.sort(list, new Comparator<ConfigDistri...
  • 明天写集合按某一字段排序
  • 本文旨在通过重写Comparator接口的compare()方法实现对List的升序、降序、倒序排序。首先明确一点:compare(Integer o1, Integer o2){}中,o1代表的是List容器中的后一个元素,o2代表的是List容器中的前一个元素!...
  • list集合排序升序和降序使用sort()

    万次阅读 2018-07-27 17:36:10
    Collections.sort(resultList, new Comparator&lt;HealthRecordRepeat&gt;() {  @Override  public int compare(HealthRecordRepeat o1, HealthRecordRepeat o2) {  //retu...
  • 一、升序、降序其实C#中的ListSort函数中的比较函数CompareTo有三种结果 1, -1 ,0分别代表大,小,相等。默认List排序是升序排序。举个例子:在比较函数CompareTo()中,如果 x>y return 1;则是按照升序排列。...
  • 就使用List的父类Collection自带的排序功能以实现需求 代码如下 // 排序 Collections.sort(formInfoList, new Comparator<FormInfo>() { @Override public int compare(FormInfo o1, FormInfo o2) { //按...
  • 代码如下:进行降序排列进行降序排列Collections.sort(list, new Comparator() {public int compare(ResultTypeDesc o1, ResultTypeDesc o2) {return o2.getRatio().compareTo(o1.getRatio());}}...
  • //正序 方法 Collections.sort(timeList) //降序 方法 Collections.sort(timeList,Collections.reverseOrder());

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 629
精华内容 251
关键字:

list排序sort降序