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' 字段的值作为比较键。

 

相关推荐

  1. Python列表排序

    2024-04-08 08:14:06       37 阅读
  2. Python】多维列表排序

    2024-04-08 08:14:06       60 阅读
  3. Python 中字符串列表排序

    2024-04-08 08:14:06       37 阅读
  4. Python入门与进阶】Python列表进行排序

    2024-04-08 08:14:06       33 阅读
  5. python3按列表元素中字典的value排序

    2024-04-08 08:14:06       26 阅读
  6. WebForms SortedList 排序列表

    2024-04-08 08:14:06       28 阅读
  7. python--列表

    2024-04-08 08:14:06       37 阅读
  8. python列表

    2024-04-08 08:14:06       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 08:14:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 08:14:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 08:14:06       82 阅读
  4. Python语言-面向对象

    2024-04-08 08:14:06       91 阅读

热门阅读

  1. 面试题Spring、SpringMVC、SpringBoot、SpringCloud

    2024-04-08 08:14:06       43 阅读
  2. ASTM F2613-19儿童折叠椅和凳子安全标准

    2024-04-08 08:14:06       36 阅读
  3. NLP学习路线总结

    2024-04-08 08:14:06       38 阅读
  4. Hive SchemaTool 命令详解

    2024-04-08 08:14:06       42 阅读
  5. Supporting 64-bit ARM systems

    2024-04-08 08:14:06       32 阅读
  6. DIP期中复习

    2024-04-08 08:14:06       31 阅读
  7. C语言题目:阶乘数列

    2024-04-08 08:14:06       34 阅读
  8. 计算机视觉(Computer Vision)知识点

    2024-04-08 08:14:06       33 阅读
  9. RabbitMQ知识点

    2024-04-08 08:14:06       38 阅读