Python中sorted()用法案例代码

目录

Python中sorted()用法

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

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

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

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

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

sorted()函数:返回一个排序后的新序列,不改变原始序列。

我们知道,Python中列表是基本数据类型之一,是写在方括号之间,用逗号分隔开的元素序列。可以同时存在数字、字符串、元组、字典、集合等数据类型的对象,甚至可以包含列表(即嵌套),例如。[1,2,3] [a,b,c] [123,[abc]]

关于列表的常用函数,例如sorted()函数,具体用法及案例如下:

sorted(iterable[,key][,reverse])返回一个排序后的新序列,不改变原始的序列。

第一个参数interable是可迭代的对象。

第二个参数key用来指定一个带参数的函数,该函数会在每个元素排序前被调用,如key=abs #按绝对值大小排序。

key指定的函数将作用于list的每一个元素上,并根据key指定的函数返回的结果进行排序。

第三个参数reverse用来指定正向还是反向排序

如反向排序第三个参数reverse=True:

例如>>>sorted(['bcd','about','diff','create'],key=str.lower,reverse=True)                             #按小写反向排序

['diff','create','bcd','about']

补充:Python基础之sorted()函数用法

本篇是关于sorted()函数的一些基本用法,如有不足缺陷欢迎补充指正。
1、简单的排序
sorted函数可以对可迭代类型的容器内的数据进行排序

lst1 = (5,4,3,2,1)
lst2 = ('F','D','Y','e','a','v')#字符串类型的排序按照ASCII的大小进行比较
L1 = sorted(lst1)
L2 = sorted(lst2)
print(L1)
print(L2)
>>>[1, 2, 3, 4, 5]
['D', 'F', 'Y', 'a', 'e', 'v']

2、进阶使用
sorted(L,key=···)
其中key用来接收一个自定义的排序规则

lst1 = (5,4,3,-2,1)
lst2 = ('F','D','Y','e','a','v')#字符串类型的排序按照ASCII的大小进行比较
L1 = sorted(lst1)
L2 = sorted(lst2)
L3 = sorted(lst1,key=abs)
L4 = sorted(lst2,key=str.lower)
print(L1)
print(L2)
print(L3)
print(L4)
>>>[-2, 1, 3, 4, 5]
['D', 'F', 'Y', 'a', 'e', 'v']
[1, -2, 3, 4, 5]
['a', 'D', 'e', 'F', 'v', 'Y']

3、选择升序还是降序排列方式
其中sorted函数是默认升序排序,当需要降序排序时,需要使用reverse = Ture

lst1 = (5,4,3,-2,1)
lst2 = ('F','D','Y','e','a','v')#字符串类型的排序按照ASCII的大小进行比较
L1 = sorted(lst1)
L2 = sorted(lst2)
L3 = sorted(lst1,key=abs)
L4 = sorted(lst2,key=str.lower)
L5 = sorted(lst1,reverse=True)
print(L1)
print(L2)
print(L3)
print(L4)
print(L5)
>>>[-2, 1, 3, 4, 5]
['D', 'F', 'Y', 'a', 'e', 'v']
[1, -2, 3, 4, 5]
['a', 'D', 'e', 'F', 'v', 'Y']
[5, 4, 3, 1, -2]

4、多级排序
operator模块提供的itemgetter函数用于获取对象的哪些维的数据

from operator import itemgetter
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
#按名字排序
L2=sorted(L,key=itemgetter(0))
#按成绩排序
L3=sorted(L,key=itemgetter(1))
print("按名字排序: ")
print(L2)
print("按成绩排序: ")
print(L3)
>>>按名字排序:
[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
按成绩排序:
[('Bart', 66), ('Bob', 75), ('Lisa', 88), ('Adam', 92)]
这里是借鉴了下面这位大佬的
原文连接https://blog.csdn.net/weixin_40759602/article/details/108484971

最后也随便提一嘴,就是有很多的兄弟们在输出列表时不想输出中括号,引号和逗号。可以在输出时在变量前加一个’*'即可

lst1 = (5,4,3,-2,1)
lst2 = ('F','D','Y','e','a','v')#字符串类型的排序按照ASCII的大小进行比较
L1 = sorted(lst1)
L2 = sorted(lst2)
L3 = sorted(lst1,key=abs)
L4 = sorted(lst2,key=str.lower)
L5 = sorted(lst1,reverse=True)
print(*L1)
print(*L2)
print(*L3)
print(*L4)
print(*L5)
>>>-2 1 3 4 5
D F Y a e v
1 -2 3 4 5
a D e F v Y
5 4 3 1 -2

这里还用很多其他的方法可以参考这位大佬的文章:
https://blog.csdn.net/XreqcxoKiss/article/details/108637403

到此这篇关于Python中sorted()用法案例代码的文章就介绍到这了,更多相关Python中sorted()用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中sorted()排序与字母大小写的问题

    今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序 研究后发现字母大小写会影响排序 首先创建一个字典,键里面的首字母有大写有小写 favorite_digit = { 'john' : 4, 'Tom' : 5, 'Lisa' : 9, 'liu' : 5, 'alice' : 0, } for name in sorted(favorite_digit.keys()): print(name.title()) 运行后发现与预期不符合. Lisa Tom Alic

  • python列表排序用 sort()和sorted()的区别

    目录 1. 是否改变原列表 2.参数设置:key 和 reverse 3.输入数据类型 前言: 内容提要:本文比较了 Python 中用于列表排序的两种函数 sort() 和 sorted(),帮助您选择合适的排序函数. 对列表排序时,既可以用 List.sort(),也可以用 sorted(List),这两个函数有什么不同呢?如何选择?我以前常常分不清这两个函数,等到程序报错了,才知道 sorted 写成 sort 了,List 不能写在 sort() 括号里.您是否也有这个困惑呢?那就一起通

  • 深入理解python中sort()与sorted()的区别

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列 一,最简单的排序 1.使用sort排序 my_list = [3, 5, 1, 4, 2] my_list.sort() print (my_list) #输出: [1, 2, 3, 4, 5] 使用sort()方法对list排序会修改list本身,不会返回新list. sort()不能对dict字典进行排序 2.使用sorted()排序 my_list = [

  • Python中利用sorted()函数排序的简单教程

    排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来.通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序. Python内置的sorted()函数就可以对list进行排序:

  • python内置函数sorted()用法深入分析

    本文实例讲述了python内置函数sorted()用法.分享给大家供大家参考,具体如下: 列表对象提供了sort()方法支持原地排序,而内置函数sorted()不支持原地操作只是返回新的列表,并不对原列表进行任何修改.sorted()方法可以对列表.元组.字典.range对象等进行排序.列表的sort()方法和内置函数sorted()都支持key参数实现复杂排序要求. #使用key来指定排序依据,先按姓名升序排序,姓名相同的按年龄降序排序 >>> persons = [{'name':'

  • python中的 sorted()函数和sort()方法

    目录 1.sort() 2.sorted() 3.sorted()操作列表 4.sorted()排序字典 ①参数key:使用lambda定义 ②参数key:使用itemgetter直接生成 1.sort() 首先看sort()方法,sort方法只能对列表进行操作,而sorted可用于所有的可迭代对象. a = [1, 5, 3, 4, 2] a.sort() print(a) 调用sort()方法后,原列表被改变. 2.sorted() 再看sorted()函数, sorted(iterable

  • python 内置函数-range()+zip()+sorted()+map()+reduce()+filter()

    目录 range函数 zip() 函数 其它内置函数 数据类型转换相关内置函数 变量相关函数 数学相关函数 进制相关函数 高阶函数 sorted(iterable,[reverse,key]) map(func, *iterables) reduce(func,iterable) filter(func,iterable) range函数 能够生成一个指定的数字序列 使用案例: ''' range(start,stop,step) 参数: start : 开始的值 ,默认值为0 stop : 结

  • Python3 中sorted() 函数的用法

    描述 sorted() 函数对所有可迭代的对象进行排序操作. 语法 sorted(iterable, key=None, reverse=False) iterable – 可迭代对象. key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序. reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认). 案例 >>> a_dict={'A':2,'B':3,

  • Python中sorted()用法案例代码

    目录 Python中sorted()用法 sorted() 作为 Python 内置函数之一,其功能是对序列(列表.元组.字典.集合.还包括字符串)进行排序. sorted() 函数的基本语法格式如下: list = sorted(iterable, key=None, reverse=False) 其中,iterable 表示指定的序列,key 参数可以自定义排序规则:reverse 参数指定以升序(False,默认)还是降序(True)进行排序.sorted() 函数会返回一个排好序的列表.

  • Python中return用法案例详解

    python中return的用法 1.return语句就是把执行结果返回到调用的地方,并把程序的控制权一起返回 程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return. 例如: def haha(x,y): if x==y: return x,y print(haha(1,1)) 已改正: 结果:这种return传参会返回元组(1, 1) 2.但是也并不意味着一个函数体中只能有一个return 语句,例如: def test_return(x): if x >

  • Python中偏函数用法示例

    本文实例讲述了Python中偏函数用法.分享给大家供大家参考,具体如下: python中偏函数 当一个函数有很多参数时,调用者就需要提供多个参数.如果减少参数个数,就可以简化调用者的负担. 比如,int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换: >>> int('12345') 12345 但int()函数还提供额外的base参数,默认值为10.如果传入base参数,就可以做 N 进制的转换: >>> int('12345', b

  • Python中异常处理用法

    目录 1.if进行处理,在错误发生之前进行预防 2.用try..except:在错误发生之后进行处理 为了保证程序的健壮性与容错性,即在遇到错误时候程序不会崩溃,我们需要对异常进行处理, 1.if进行处理,在错误发生之前进行预防 如果错误发生的条件是可预知的,我们需要用if进行处理,在错误发生之前进行预防 AGE=10 while True: age=input('>>: ').strip() if age.isdigit(): #只有在age为字符串形式的整数时,下列代码才不会出错,该条件是

  • python中尾递归用法实例详解

    本文实例讲述了python中尾递归用法.分享给大家供大家参考.具体分析如下: 如果一个函数中所有递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的.当递归调用是整个函数体中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归.尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这种特点自动生成优化的代码. 原理: 当编译器检测到一个函数调用是尾递归的时候,它就覆盖当前的活跃记录而不是在栈中去创建一个新的.编译器可以做到这点,因

  • Python中join函数简单代码示例

    本文简述的是string.join(words[, sep]),它的功能是把字符串或者列表,元组等的元素给拼接起来,返回一个字符串,和split()函数与正好相反,看下面的代码理解. 首先展示下结果吧! 代码分享: a=["豫","N","C8","C89"] b=("豫","N","C8","C89") c="zhang" a

  • 详解python中@的用法

    python中@的用法 @是一个装饰器,针对函数,起调用传参的作用. 有修饰和被修饰的区别,'@function'作为一个装饰器,用来修饰紧跟着的函数(可以是另一个装饰器,也可以是函数定义). 代码1 def funA(desA): print("It's funA") def funB(desB): print("It's funB") @funA def funC(): print("It's funC") 结果1 It's funA 分析1

  • Python 中 sorted 如何自定义比较逻辑

    在 Python 中对一个可迭代对象进行排序是很常见的一个操作,一般会用到 sorted() 函数 num_list = [4, 2, 8, -9, 1, -3] sorted_num_list = sorted(num_list) print(sorted_num_list) 上面的代码是对整数列表 num_list 按从小到大的顺序进行排序,得到的结果如下 [-9, -3, 1, 2, 4, 8] 有时候不仅仅是对元素本身进行排序,而是在元素值的基础上进行一些计算之后再进行比较,比如将 nu

  • C++中inline用法案例详解

    1 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数,栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间.在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题,如,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭. 下面我们来看一个例子: #include <stdio.h> #include<string.h> // 函数定义为in

  • 详解Python中sorted()和sort()的使用与区别

    目录 sort()方法是什么 如何妙用sorted() 方法 总结 在 Python 中,你可以使用 sorted() 方法或 sort() 方法对数据进行排序. 在本文中,我将提供 sorted() 和 sort() 方法的代码示例,并解释两者之间的区别. sort()方法是什么 此方法接受一个列表并对其进行排序.但,请记住此方法没有返回值,即返回None. 下面例子中,我们有一个数字列表,我们可以使用 sort() 方法按升序对列表进行排序. my_list = [67, 2, 999, 1

随机推荐