python sort sorted

在Python中,sorted()是一个内置函数,用于对可迭代对象(如列表、元组、字符串、字典等)进行排序,并返回一个新的已排序的列表。这个函数不会修改原始的可迭代对象,而是返回一个新的排序后的列表。

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

 

python复制代码

 sorted(iterable, key=None, reverse=False)
  • iterable:要排序的可迭代对象。
  • key:一个可选参数,用于指定一个函数,该函数将应用于可迭代对象的每个元素,然后sorted()将根据这些函数的返回值进行排序。例如,如果你有一个包含字典的列表,并且你想根据字典中的某个值进行排序,你可以使用key参数。
  • reverse:一个布尔值,如果为True,则进行降序排序(从大到小),否则为升序排序(从小到大)。

下面是一些使用sorted()函数的示例:

 

python复制代码

 # 对列表进行排序
 numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
 sorted_numbers = sorted(numbers)
 print(sorted_numbers) # 输出: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
  
 # 对元组进行排序
 tuple_of_strings = ('banana', 'apple', 'cherry')
 sorted_strings = sorted(tuple_of_strings)
 print(sorted_strings) # 输出: ['apple', 'banana', 'cherry']
  
 # 对字典的键进行排序
 dict_of_fruits = {'apple': 5, 'banana': 3, 'cherry': 2}
 sorted_keys = sorted(dict_of_fruits)
 print(sorted_keys) # 输出: ['apple', 'banana', 'cherry']
  
 # 使用 key 参数对字典的值进行排序
 sorted_values = sorted(dict_of_fruits.items(), key=lambda item: item[1])
 print(sorted_values) # 输出: [('cherry', 2), ('banana', 3), ('apple', 5)]
  
 # 降序排序
 sorted_desc = sorted(numbers, reverse=True)
 print(sorted_desc) # 输出: [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

在上面的例子中,你可以看到sorted()函数如何应用于不同类型的可迭代对象,并且如何使用keyreverse参数来定制排序行为。注意,当对字典使用sorted()时,默认是对字典的键进行排序,但你可以通过key参数来改变这一行为。

最后,要注意的是,尽管sorted()函数非常方便,但它会创建一个新的列表,这可能会消耗额外的内存,特别是在处理大型数据集时。如果你正在处理一个列表,并且希望就地(in-place)排序(即直接修改原始列表),你可以使用列表的sort()方法,它不会返回任何值(返回None),而是直接修改列表本身。

 

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值