sorted基本介绍

1、lambda 运算符

  使用lambda语句可以创建表达式形式的匿名函数:

lambda args : expression

  args是以逗号分隔的参数列表,而expression是用到这些参数的表达式,例如:

a = lambda x, y: x + y
r = a(2, 3)  # r的值为5

  使用lambda语句定义的代码必须是合法的表达式。lambda语句中不能出现多条语句和其他非表达式语句,如for或while。lambda表达式遵循与函数相同的作用域规则。

  lambda的首要用途是指定短小的回调函数。

2、sorted(iterable[cmp[key[reverse]]])

 

  返回一个经过排序的列表,源序列即是一个迭代器iterable。

 

  •   cmp是一个比较函数,它带有两个参数,返回值为负数(参数1小于参数2)、0(参数1等于参数2)、正数(参数1大于参数2)三种。
  •   key则是一个带一个参数的函数,这个参数即是iterable中的一项,函数体即是以哪种方式决定该项的大小。
  •   reverse为True代表反向排序。

  通常情况下,指定key和reverse两项进行排序要比指定cmp进行排序快。

  举例:

>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]  
>>> sorted(students, key=lambda student : student[2])   # sort by age  
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]  
>>> dic = {'a':31,'b':30,'c':32}
>>> print sorted(dic.iteritems(), key=lambda d:d[1], reverse=False)
[('b', 30), ('a', 31), ('c', 32)]

# iteritems方法将字典转换为键值迭代器,每一项是一个元组(key, value)

 

转载于:https://www.cnblogs.com/zhangjing327/p/3523253.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当我们需要对列表、元组、字典等可迭代对象进行排序时,可以使用Python内置函数`sorted()`。`sorted()`可以接收一个可迭代对象作为参数,并返回一个排好序的新列表,不改变原来的对象。 `sorted(iterable, key=None, reverse=False)` 参数说明: - iterable:表示可迭代对象,例如列表、元组、字典等。 - key:表示用于排序的关键字。如果指定了该参数,那么将会以可迭代对象中的每个元素依次调用该关键字函数,返回一个排序依据的值。如果不指定该参数,则默认使用可迭代对象中的元素进行排序。 - reverse:表示是否按照降序排序,默认为False(升序)。 示例代码: ```python # 对列表进行排序 nums = [3, 1, 4, 2, 5] sorted_nums = sorted(nums) print(sorted_nums) # [1, 2, 3, 4, 5] # 对元组进行排序 t = (3, 1, 4, 2, 5) sorted_t = sorted(t) print(sorted_t) # [1, 2, 3, 4, 5] # 对字典进行排序 d = {'a': 3, 'b': 1, 'c': 4, 'd': 2, 'e': 5} sorted_d = sorted(d.items(), key=lambda x: x[1]) print(sorted_d) # [('b', 1), ('d', 2), ('a', 3), ('c', 4), ('e', 5)] ``` 在以上示例代码中,我们分别对列表、元组和字典进行了排序,并指定了关键字函数进行排序。通过使用`sorted()`函数,我们可以轻松地对可迭代对象进行排序。 ### 回答2: sorted函数是Python内置的一个排序函数。它可以按照指定的规则对可迭代对象进行排序,并返回一个新的排序后的列表。 sorted函数的基本用法是:sorted(iterable, key=None, reverse=False),其中iterable是一个可迭代对象,例如列表、元组或者字符串;key是一个可选的函数,用于指定排序的规则;reverse是一个可选的布尔值,用于指定是否进行逆序排序。 当不指定key参数时,sorted函数将按照默认规则进行排序。对于整数、浮点数、字符串等基本类型的可迭代对象,sorted函数会根据其大小或字典序进行排序。对于自定义类型的对象,可以通过重写对象的__lt__(小于)或__gt__(大于)方法,或者使用lambda表达式来定义key参数,指定排序规则。 如果指定了reverse参数为True,那么sorted函数将进行逆序排序。 除了基本的用法,sorted函数还可以通过参数stable=True来保持原始序列中相等元素的相对位置。默认情况下,sorted函数在遇到相等元素时,会根据其在原始序列中的位置进行排序。 另外,sorted函数还可以通过参数cmp来指定一个自定义的比较函数。这个函数接受两个参数,返回一个负数、零或者正数,表示第一个参数小于、等于或者大于第二个参数。 总结来说,sorted函数是Python中非常常用的一个排序函数,它可以灵活地排序各种类型的可迭代对象,提供了多种参数来满足不同的排序需求。使用sorted函数可以快速、方便地对数据进行排序。 ### 回答3: sorted函数是Python内置的一个函数,主要用于对列表、元组或字典进行排序操作。该函数可以接收一个可迭代对象作为参数,并返回一个新的已排序的列表。 sorted函数的基本用法是:sorted(iterable, key=None, reverse=False)。其中,iterable为可迭代对象,key为排序依据的函数或lambda表达式,reverse为一个布尔值,用于表示是否进行降序排序,默认为False,即升序排序。 如果sorted函数的参数是一个列表或元组,那么它会返回一个新的已排序的列表。例如,sorted([3, 1, 2])会返回[1, 2, 3],sorted(('c', 'b', 'a'))会返回['a', 'b', 'c']。 如果sorted函数的参数是一个字典,那么它会返回一个新的已排序的字典。由于字典是无序的,返回的新字典会按照键进行排序。例如,sorted({'b': 2, 'a': 1, 'c': 3})会返回[('a', 1), ('b', 2), ('c', 3)]。 sorted函数还可以配合key和reverse参数进行更复杂的排序操作。key参数可以接收一个函数或lambda表达式,用于指定排序的依据。例如,sorted(['apple', 'banana', 'cherry'], key=len)会根据字符串的长度进行排序。reverse参数用于控制是否进行降序排序,如果设置为True,则进行降序排序。 总之,sorted函数是Python中非常实用的排序函数,它可以对可迭代对象进行排序,并返回一个已排序的新对象。我们可以通过指定key和reverse参数来实现更加灵活的排序操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值