如何在Python中对列表中的元素进行排序?

如何在Python中对列表中的元素进行排序?

在Python中,列表是一个有序序列,可以包含多种对象类型,例如整数、字符或浮点数。在其他编程语言中,列表相当于数组。用方括号表示它,并用逗号(,)分隔列表中的两个项。

在本文中,我们将向您展示如何使用Python对列表中的对象和元素进行排序。以下是完成此任务的不同方法 −

  • 使用sort()方法

  • 使用sorted()方法

假设我们拿到一个包含一些元素的列表。我们将按升序或降序排列返回列表元素。

注意 − 如果列表的对象/元素是一个字符串,则按字母顺序排序元素。

阅读更多:Python 教程

方法1:使用sort()方法

sort()方法按原地排序原始列表。这意味着sort()方法改变了列表元素的顺序

默认情况下,sort()方法使用小于运算符(<)对列表的条目进行排序,即按 升序 的顺序。换句话说,它将较小的元素置于较高的元素之上。

要按从高到低的顺序排列元素( 降序 ),请在sort()方法中使用reverse=True参数。

list.sort(reverse=True)
Python

示例1

以下程序使用sort()方法以升序和降序对列表元素进行排序 −

# 输入列表
lst = [10, 4, 12, 1, 9, 5]

# 对列表元素按升序排序
lst.sort()
print("按升序排序列表项:", lst)

# 对列表元素按降序排序
lst.sort(reverse=True)
print("按降序排序列表项:", lst)
Python

输出

在执行上述程序时,将生成以下输出 −

按升序排序列表项:[1, 4, 5, 9, 10, 12]
按降序排序列表项:[12, 10, 9, 5, 4, 1]
Python

在这种情况下,我们给出了一个随机值列表。然后将sort()方法应用于列表,该方法按升序排序给定列表并按升序打印列表。然后通过向sort()函数传递附加的关键字reverse=True来按降序对相同列表进行了排序,并以降序打印列表。

示例2 对于包含字符串值的列表

以下程序使用sort()方法以升序和降序对列表元素(字符串)进行排序 −

# 输入列表
lst = ['hello','this','is','tutorials','point','website','welcome','all']

# 对列表中的字符串元素按升序进行排序
lst.sort()
print("Sorting list items in ascending order: ", lst)

# 对列表中的字符串元素按降序进行排序
lst.sort(reverse=True)
print("Sorting list items in descending order: ", lst)
Python

输出

在执行以上程序后,将生成以下输出 −

Sorting list items in ascending order: ['all', 'hello', 'is', 'point', 'this', 'tutorials', 'website', 'welcome']
Sorting list items in descending order: ['welcome', 'website', 'tutorials', 'this', 'point', 'is', 'hello', 'all']
Python

我们可以看到所有元素都按字母顺序排序

方法2:使用sorted()方法

sorted()函数返回给定可迭代对象的排序列表。

您可以选择升序或降序。数字按数字排序,而字符串按字母顺序排列。

语法

sorted(iterable, key=key, reverse=reverse)
Python

参数

iterable − 它是一个序列

key − 将执行的函数来确定顺序。默认值为None。

reverse − Boolean表达式。True升序排列,False降序排列。默认值为False。

例子

以下程序使用sorted()方法按升序和降序对列表元素进行排序−

# 输入列表
lst = [10, 4, 12, 1, 9, 5]

# 对列表元素按升序进行排序
print("Sorting list items in ascending order: ", sorted(lst))

# 对列表元素按降序进行排序
print("Sorting list items in descending order: ", sorted(lst, reverse=True))
Python

输出

在执行以上程序后,将生成以下输出 −

Sorting list items in ascending order: [1, 4, 5, 9, 10, 12]
Sorting list items in descending order: [12, 10, 9, 5, 4, 1]
Python

在此示例中,我们提供了一组随机数字。我们将列表作为参数提供给排序()方法,该方法对给定的列表进行排序并打印。然后,通过在排序()方法中提供一个附加的键reverse=True,对相同的列表按降序进行排序,并按顺序打印列表。

结论

在本文中,我们学习了如何使用函数即sort()和sorted()方法对列表对象 /元素进行排序。我们还学习了如何使用相同的函数对项目列表按降序排序。如果列表包含字符串作为对象,则我们还讨论了如何对列表进行排序。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册