登录
首页 >  文章 >  python教程

Python列表排序实用技巧与方法

时间:2025-12-16 08:36:49 298浏览 收藏

推广推荐
免费电影APP ➜
支持 PC / 移动端,安全直达

你在学习文章相关的知识吗?本文《Python列表排序技巧与方法》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

Python中排序主要用sort()和sorted(),前者原地修改列表返回None,后者返回新列表不改变原数据,根据是否需保留原顺序选择方法。

python的list排序方法

Python 中对 list 进行排序主要有两种方法:使用 sort() 方法和使用 sorted() 函数。它们都能实现排序,但有一些关键区别。

1. list.sort() 方法(原地排序)

list.sort() 是列表对象的一个方法,它直接修改原列表,不返回新列表,返回值为 None

适合在不需要保留原始顺序时使用。

  • 语法:list.sort(key=None, reverse=False)
  • reverse=True 表示降序排列
  • key 参数用于指定一个函数,按特定规则排序

示例:

nums = [3, 1, 4, 1, 5]
nums.sort()
print(nums)  # 输出: [1, 1, 3, 4, 5]
<p>words = ['banana', 'apple', 'cherry']
words.sort(key=len)  # 按字符串长度排序
print(words)  # 输出: ['apple', 'banana', 'cherry']</p>

2. sorted() 函数(生成新列表)

sorted() 是一个内置函数,可以对任何可迭代对象排序,返回一个新的排序后的列表,原列表不变。

适合需要保留原始数据顺序的场景。

  • 语法:sorted(iterable, key=None, reverse=False)
  • 同样支持 keyreverse 参数

示例:

nums = [3, 1, 4, 1, 5]
new_nums = sorted(nums, reverse=True)
print(new_nums)  # 输出: [5, 4, 3, 1, 1]
print(nums)      # 原列表未变: [3, 1, 4, 1, 5]
<p>data = [('Alice', 25), ('Bob', 20), ('Charlie', 30)]
sorted_data = sorted(data, key=lambda x: x[1])  # 按年龄排序
print(sorted_data)  # 输出: [('Bob', 20), ('Alice', 25), ('Charlie', 30)]</p>

3. 常见排序技巧

  • 按字符串长度排序:sorted(words, key=len)
  • 忽略大小写排序:sorted(words, key=str.lower)
  • 按字典中的某个键排序:sorted(dict_list, key=lambda x: x['age'])
  • 多条件排序:可以用元组作为 key 返回值,例如 key=lambda x: (x[0], x[1])

基本上就这些。根据是否要修改原列表来选择用 sort() 还是 sorted(),再配合 keyreverse 实现灵活排序。

到这里,我们也就讲完了《Python列表排序实用技巧与方法》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于排序的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>