插件窝 干货文章 Python列表排序:如何根据元组首元素排序?

Python列表排序:如何根据元组首元素排序?

一个 排序 列表 函数 384    来源:    2025-03-16

在Python中,你可以使用sorted()函数或list.sort()方法来对列表进行排序。如果你有一个包含元组的列表,并且希望根据元组的第一个元素进行排序,可以使用以下方法。

使用sorted()函数

sorted()函数会返回一个新的已排序列表,而不会修改原始列表。

# 示例列表
my_list = [(3, 'apple'), (1, 'banana'), (2, 'cherry')]

# 根据元组的第一个元素排序
sorted_list = sorted(my_list, key=lambda x: x[0])

print(sorted_list)

输出:

[(1, 'banana'), (2, 'cherry'), (3, 'apple')]

使用list.sort()方法

list.sort()方法会直接修改原始列表,而不是返回一个新的列表。

# 示例列表
my_list = [(3, 'apple'), (1, 'banana'), (2, 'cherry')]

# 根据元组的第一个元素排序
my_list.sort(key=lambda x: x[0])

print(my_list)

输出:

[(1, 'banana'), (2, 'cherry'), (3, 'apple')]

解释

  • key=lambda x: x[0]key参数指定了一个函数,该函数从每个元组中提取第一个元素作为排序的依据。lambda x: x[0]是一个匿名函数,它接受一个元组x并返回x[0],即元组的第一个元素。

总结

  • 使用sorted()函数可以生成一个新的已排序列表,而不改变原始列表。
  • 使用list.sort()方法会直接对原始列表进行排序。
  • 通过key参数指定排序依据,可以使用lambda函数来提取元组的第一个元素作为排序键。

这两种方法都可以有效地根据元组的第一个元素对列表进行排序。