首页 > 编程语言 >Python sorted函数及用法

Python sorted函数及用法

时间:2023-02-16 18:44:21浏览次数:59  
标签:http Python 用法 print sorted net 排序 biancheng

orted() 作为 Python 内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。

sorted() 函数的基本语法格式如下:

list = sorted(iterable, key=None, reverse=False)  

其中,iterable 表示指定的序列,key 参数可以自定义排序规则;reverse 参数指定以升序(False,默认)还是降序(True)进行排序。sorted() 函数会返回一个排好序的列表。

注意,key 参数和 reverse 参数是可选参数,即可以使用,也可以忽略。

下面程序演示了 sorted() 函数的基本用法:
  1. #对列表进行排序
  2. a = [5,3,4,2,1]
  3. print(sorted(a))
  4. #对元组进行排序
  5. a = (5,4,3,1,2)
  6. print(sorted(a))
  7. #字典默认按照key进行排序
  8. a = {4:1,\
  9. 5:2,\
  10. 3:3,\
  11. 2:6,\
  12. 1:8}
  13. print(sorted(a.items()))
  14. #对集合进行排序
  15. a = {1,5,3,2,4}
  16. print(sorted(a))
  17. #对字符串进行排序
  18. a = "51423"
  19. print(sorted(a))
程序执行结果为:

[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[(1, 8), (2, 6), (3, 3), (4, 1), (5, 2)]
[1, 2, 3, 4, 5]
['1', '2', '3', '4', '5']


再次强调,使用 sorted() 函数对序列进行排序, 并不会在原序列的基础进行修改,而是会重新生成一个排好序的列表。例如:
  1. #对列表进行排序
  2. a = [5,3,4,2,1]
  3. print(sorted(a))
  4. #再次输出原来的列表 a
  5. print(a)
程序执行结果为:

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

显然,sorted() 函数不会改变所传入的序列,而是返回一个新的、排序好的列表。

除此之外,sorted()函数默认对序列中元素进行升序排序,通过手动将其 reverse 参数值改为 True,可实现降序排序。例如:
  1. #对列表进行排序
  2. a = [5,3,4,2,1]
  3. print(sorted(a,reverse=True))
程序执行结果为:

[5, 4, 3, 2, 1]


另外在调用 sorted() 函数时,还可传入一个 key 参数,它可以接受一个函数,该函数的功能是指定 sorted() 函数按照什么标准进行排序。例如:
  1. chars=['http://c.biancheng.net',\
  2. 'http://c.biancheng.net/python/',\
  3. 'http://c.biancheng.net/shell/',\
  4. 'http://c.biancheng.net/java/',\
  5. 'http://c.biancheng.net/golang/']
  6. #默认排序
  7. print(sorted(chars))
  8. #自定义按照字符串长度排序
  9. print(sorted(chars,key=lambda x:len(x)))
程序执行结果为:

['http://c.biancheng.net',
 'http://c.biancheng.net/golang/',
 'http://c.biancheng.net/java/',
 'http://c.biancheng.net/python/',
 'http://c.biancheng.net/shell/']
['http://c.biancheng.net',
 'http://c.biancheng.net/java/',
 'http://c.biancheng.net/shell/',
 'http://c.biancheng.net/python/',
 'http://c.biancheng.net/golang/']

此程序中,使用了 lambda 表示式,其用法会在后续章节进行详细介绍。

标签:http,Python,用法,print,sorted,net,排序,biancheng
From: https://www.cnblogs.com/chenwandong/p/17127904.html

相关文章

  • python set集合
    使用花括号{和}来创建一个包含多个元素的集合。集合和字典之间的区别在于,字典要求我们键入由冒号:分隔的键值对,而集合则不需要。  4.集合中添加新的元素我们一般使用......
  • python对文件的处理方法
    #1、打开文件如果文件不存在会报错file=open("1.txt")#2、使用w、w+、a、a+模式打开,如果文件不存在就创建文件file=open("1.txt","w")#3、指定绝对路径路径f......
  • python logging日志没有写入到指定文件,写到其他项目的日志文件
    背景:项目A为主框架项目,使用到了项目B的方法项目A、B均有封装好的日志方法,且均在封装好的日志文件里面,增加了logger=MyLogger().info,其他文件要使用日志时,引入logger进......
  • python获取当前运行程序所在目录
    python获取当前运行程序所在目录python获取脚本所在目录的正确方法importsysimportos假设在桌面运行python/a/b/c/d.py1、获取脚本运行所在目录......
  • PYTHON异常
    PYTHON异常异常的捕获基本捕获语法:try:#可能发生错误的代码except:#如果出现异常执行的代码捕获指定异常:except异常类型ase:如果尝试执行......
  • python 基于APScheduler的定时任务
    指定时间执行指定任务:1#--*--coding:utf--8--*--2#__author__='xxx'34fromdatetimeimportdatetime5fromapscheduler.schedulers.blockingimpo......
  • Python-BeautifulReport的简单使用
    一、简介BeautifulReport.reportreport(filename->测试报告名称,如果不指定默认文件名为report.htmldescription->测试报告用例名称展示log_path='.'->......
  • python的学习之路Day5
    2023.2.16Day5今日内容概要逻辑运算符成员运算符身份运算符流程控制(重点)if判断while循环今日内容详细逻辑运算符and与 ##可以用and连接多个条......
  • Python Boa-constructor的使用
    上篇介绍了Python的环境搭建,主要是开发环境的介绍,本篇主要介绍Python的GUI开发工具Boa-constructor的使用和我们的程序开发完毕后的打包问题,本篇还会介绍在Python中我们如......
  • 什么是python的设计模式
    一.什么是python的设计模式?软件工程中,设计模式是指软件设计问题的推荐方案。设计模式一般是描述如何组织代码和使用最佳实践来解决常见的设计问题。需谨记一点:设计模......