zoukankan      html  css  js  c++  java
  • Python合集之Python列表(五)

        在上一节的合集中,我们了解了Python 列表中元素的统计及计算的相关知识,本节我们将进一步了解一下Python列表中元素的排序的相关知识。

    在实际开发中,经常需要对列表进行排序。Python中提供了两种常用的对列表进行排序的方法:使用列表对象的sort()方法,使用内置的sorted()函数。

    1.使用列表对象的sort()方法

    列表对象提供了sort()防范用于对原列表中的元素进行排序。排序后原列表中的元素顺序发生改变,列表对象的sort()方法的语法格式如下:

    listname.sort(key=none,reverse=false)
    参数说明:
    listname:表示要进行排序的列表
    key:表示指定从每一个元素中提取一个用于比较的键(例如:设置 key=str.lower 表示在排序时不区分字母大小写)
    reverse:可选参数,如果将其值设置为true,则表示降序排列,如果为false,则表示升序排列,默认为升序排列。

    例如:定义一个保存10名学生语文成绩的列表,使用sort()方法对其进行排序。代码如下:

    grade=[98,99,97,100,100,96,94,89,95,100]
    print("原列表:",grade)
    grade.sort()  #进行升序排列
    print("升序:",grade)
    grade.sort(reverse=true)  #进行降序排列
    print("降序:",grade)

    使用sort()方法进行数值列表的排序比较简单,但是使用sort()方法对字符串列表进行排序时,采用的规则是先对大写字母进行排序,然后在对小写字母进行排序。如果想要对字符串进行排序(不区分大小写字母),需要指定其key参数。

    例如:定义一个保存英文字符串的列表,然后使用sort()方法对其进行升序排列,可以使用下面的代码:

    char=["cat","Tom","Angela","pet"]
    char.sort()  #默认区分大小写字母排序
    print("区分大小写字母",char)
    char.sort(key=str.lower)  #不区分大小写字母排序
    print("不区分大小写字母",char)

    注:采用sort()方法对列表进行排序时,对中文的支持不好,排序的结果与我们常用的音序排序法或者笔画排序法不一致,如果需要实现对中文内容的列表排序,还需要重新编写相应的方法进行处理,不能直接使用sort()方法。

    2.使用内置的sorted()函数实现

    在Python中,提供了sorted()函数,用于对列表进行排序,使用该函数进行排序后,原列表的元素顺序不变。sorted()函数的语法格式如下:

    sorted(iterable,key=none,reverse=false)
    参数说明:
    iterable:表示要进行排序的列表名称
    key:表示指定从每个元素中提取一个用于比较的键(例如:设置 key=str.lower 表示在排序时不区分大小写)
    reverse:可选参数,如果将其指定为true 则表示为降序排列,如果为false 则表示升序排序。

    例如:定义一个保存10名学生语文成绩的列表,然后使用sorted()函数对其进行排序,代码如下:

    grade=[98,99,100,100,96,94,89,95,100]
    grade_as=sorted(grade) #进行升序排列
    print("升序",grade_as)
    grade_des=sorted(grade,reverse=true) #进行降序排列
    print("降序",grade_des)
    print("原序列",grade)

    注:列表对象的sort()方法和内置的sorted()函数的作用基本相同,不同点在于使用sort()方法会改变原列表的元素顺序,而使用sorted()函数时,会建立原列表的副本,该副本为排序后的列表。

    花絮:

    本期的Python 列表元素的排序就分享到这里,下期我们将继续分享Python中列表的推导式的相关知识,感兴趣的朋友可以关注我。

    同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

  • 相关阅读:
    app测试点-1
    毕业5年的感悟
    关于游戏外挂
    python-unittest单元测试框架
    python-requests
    http简介
    python基础-发邮件smtp
    python-加密
    4 Python 日期和时间
    5 Python 数据类型—数字
  • 原文地址:https://www.cnblogs.com/a-mumu/p/14233021.html
Copyright © 2011-2022 走看看