Python列表排序

在Python中,你可以使用内置的 sort() 方法或 sorted() 函数来对列表进行排序。这两种方法的主要区别在于 sort() 方法会改变原始列表的顺序,而 sorted() 函数则会返回一个新的已排序列表,原始列表保持不变。

以下是一些例子:

1. 使用 sort() 方法

 

python复制代码

 # 创建一个列表
 numbers = [5, 3, 1, 4, 2]
  
 # 使用 sort() 方法进行排序
 numbers.sort()
  
 # 输出排序后的列表
 print(numbers) # 输出: [1, 2, 3, 4, 5]

2. 使用 sorted() 函数

 

python复制代码

 # 创建一个列表
 numbers = [5, 3, 1, 4, 2]
  
 # 使用 sorted() 函数进行排序
 sorted_numbers = sorted(numbers)
  
 # 输出原始列表和排序后的列表
 print(numbers) # 输出: [5, 3, 1, 4, 2]
 print(sorted_numbers) # 输出: [1, 2, 3, 4, 5]

默认情况下,sort() 和 sorted() 都是按照升序排序的。如果你想要按照降序排序,可以传递 reverse=True 参数给它们。

3. 降序排序

使用 sort() 方法:

 

python复制代码

 numbers = [5, 3, 1, 4, 2]
 numbers.sort(reverse=True)
 print(numbers) # 输出: [5, 4, 3, 2, 1]

使用 sorted() 函数:

 

python复制代码

 numbers = [5, 3, 1, 4, 2]
 sorted_numbers = sorted(numbers, reverse=True)
 print(sorted_numbers) # 输出: [5, 4, 3, 2, 1]

此外,你还可以使用 key 参数来指定一个函数,该函数用于从每个列表元素中提取一个比较键。这对于复杂对象的排序非常有用。例如,如果你有一个包含字典的列表,并且你想根据字典中的某个值进行排序,你可以这样做:

4. 使用 key 参数进行排序

 

python复制代码

 # 创建一个包含字典的列表
 data = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}]
  
 # 使用 sorted() 函数和 key 参数按照 age 进行排序
 sorted_data = sorted(data, key=lambda item: item['age'])
  
 # 输出排序后的列表
 print(sorted_data) # 输出: [{'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}, {'name': 'Alice', 'age': 25}]

在这个例子中,我们使用了 lambda 函数作为 key 参数的值,该函数从每个字典中提取 'age' 字段的值作为比较键。

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识的宝藏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值