Python笔记--String、list、dict排序

本文介绍了Python中常用的三种排序方法:reverse(), sort(), 和 sorted() 的使用技巧与应用场景,特别是 sorted() 函数的强大功能,包括如何对字典进行排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于序列类型的排序一般用到三种方法reverse(), sort(),  sorted()
下面分别介绍这几种方法:
  1. reverse()
    用于将序列中元素反转倒序,直接改变list或String
li = [x for x in 'string']
li.reverse()
print li
#['g', 'n', 'i', 'r', 't', 's']
  1. sort()
    用于list排序,从小到大,若要求从大到小可在调用一次reverse(),直接改变list
li = [x for x in 'string']
li.sort()
print li
#['g', 'i', 'n', 'r', 's', 't']
  1. sorted()
    不仅能用于list,还能用于dict排序。返回排序后的list
    sorted(iterable, cmp=None, key=None, reverse=False)

    把iterable中的items进行排序之后,返回一个新的列表,原来的iterable没有任何改变

    1) iterable:所有的序列类型
    2) cmp: 指定一个定制的比较函数 def cmp(a,b) return a-b
    3)key:指定一个接收一个参数的比较函数,与cmp功能相同
    4)reverse:是一个布尔值。如果设置为True,列表元素将被降序排列,默认为升序排列。
    一般使用key,用系统lambda作比较函数

adict = {'name':1,'aex':0,'goal':13,'jar':20}
'''按字典value值排序'''
ls = sorted(adict.items(),key = lambda x:x[1],reverse=True)
print ls                        
#[('jar', 20), ('goal', 13), ('name', 1), ('aex', 0)]
'''按字典的key值排序'''
ls = sorted(adict.items(),key = lambda x:x[0],reverse=True)
print ls
#[('name', 1), ('jar', 20), ('goal', 13), ('aex', 0)]

其中x表示列表中的元素,x[0]即第一个元素key,x[1]即第二个元素value.(adict.items() : [(‘aex’, 0), (‘jar’, 20), (‘name’, 1), (‘goal’, 13)])
当然对key排序还可以dict.keys()拿到列表排序,在通过.get(key)来对应顺序。但对value值排序只有这一种。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值