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

Python sorted函数及用法

时间:2022-10-17 21:36:46浏览次数:81  
标签:http Python 用法 print sorted net 排序 biancheng

sorted() 作为 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/qlsh/p/16800757.html

相关文章

  • Python函数(函数定义、函数调用)用法详解
    Python 中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如input()、print()、range()、len()函数等等,这些都是Python的内置函数,可以直接使用。除了可以直接......
  • 什么是面向对象,Python面向对象(一切皆对象)
    读者肯定听过 Python 中“一切皆对象”的说法,但可能并不了解它的具体含义,只是在学习的时候听说Python是面向对象的编程语言,本节将向大家详细介绍Python面向对象的含......
  • Python pass语句及其作用
    在实际开发中,有时候我们会先搭建起程序的整体逻辑结构,但是暂时不去实现某些细节,而是在这些地方加一些注释,方面以后再添加代码,请看下面的例子:age=int(input("请输入你......
  • Python if语句嵌套(入门必读)
    前面章节中,详细介绍了3种形式的条件语句,即if、ifelse和ifelifelse,这3种条件语句之间可以相互嵌套。例如,在最简单的if语句中嵌套ifelse语句,形式如下:if表达......
  • Python assert断言函数及用法
    Python assert语句,又称断言语句,可以看做是功能缩小版的if语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行;反之,Python解释器会报AssertionError错误......
  • Python while循环语句详解
    Python 中,while循环和if条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while就会一直重复执行那段代码块。while语句的......
  • Python for循环及用法详解
    Python 中的循环语句有2种,分别是while循环和for循环,前面章节已经对while做了详细的讲解,本节给大家介绍for循环,它常用于遍历字符串、列表、元组、字典、集合等序......
  • Python循环结构中else用法(入门必读)
    Python 中,无论是while循环还是for循环,其后都可以紧跟着一个else代码块,它的作用是当循环条件为False跳出循环时,程序会最先执行else代码块中的代码。以while循......
  • Python len()函数详解:获取字符串长度或字节数
    Python 中,要想知道一个字符串有多少个字符(获得字符串长度),或者一个字符串占用多少个字节,可以使用len函数。len函数的基本语法格式为:len(string)其中string用于指定要......
  • Python join()方法:合并字符串
    join()方法也是非常重要的字符串方法,它是split()方法的逆方法,用来将列表(或元组)中包含的多个字符串连接成一个字符串。想详细了解split()方法的读者,可阅读《Pythonsp......