Python sorted()函数

Python sorted()函数

简介

在Python中,sorted()函数是最基础但也很有用的排序方法之一。这个函数可以用来对可迭代对象(如列表、字符串等)的元素进行排序。该函数可以对字符串和数字进行排序。默认情况下,它按升序排序,但也可以进行降序排序。

使用sorted()函数的方法

  • 使用Sorted()函数对数字进行排序

  • 对列表、元组、集合和字典进行排序

  • 对字符串进行排序

  • 在lambda函数中进行排序

方法1:使用Sorted()函数对数字进行排序

sorted()函数的最基本用法是对一组整数(有符号或无符号)进行排序。可以按升序或降序进行排序。

语法

print(sorted([n1, n2, n3, n4]))

语法非常简单。我们只需要将要排序的数字作为参数传递给sorted函数,它会返回按照顺序排列的数字。要按照降序排序,我们需要在数字列表之后添加关键字’reverse’。需要注意的是,数字必须放置在可迭代的容器中以便该方法能够正常运行。

步骤

步骤 1 - 调用sorted()函数

步骤 2 - 将数字列表作为参数传递给函数,如果需要的话,添加’reverse’关键字

步骤 3 - 返回或打印输出结果

示例

print(sorted([4, 1, 3, 2]))

输出

[1, 2, 3, 4]

方法2:排序列表、元组、集合和字典

列表、元组、字符串等序列内容和集合、冻结集合和数据集等集合可以使用sorted()方法进行排序。这个函数是Python内置库的一部分,因此在不写很多代码的情况下,非常容易对内容进行排序。

语法

define x=container/set
return(sorted(x))

这个简单的语法是sorted()函数成为我最喜欢的原因之一,也很容易应用。对于任何类型的迭代器进行排序,我们首先声明迭代器,比如列表、集合等等。然后将此迭代器传递给函数,函数返回排序后的元素。

步骤

步骤1 - 用要排序的元素初始化迭代器

步骤2 - 将迭代器作为参数传递给sorted()方法,同时传递键和升序或降序的确认

步骤3 - 打印或返回值

示例

# List
x = ['z', 'g', 'e', 'o', 't', 'y']
print(sorted(x))

# Tuple
x = ('z', 'g', 'e', 'o', 'd', 'k')
print(sorted(x))

# Dictionary
x = {'z': 1, 'p': 2, 'e': 12, 'h': 8, 'k': 7, 'y': 3}
print(sorted(x))

# Set
x = {'x', 'w', 'h', 'd', 'k', 'b'}
print(sorted(x))

# Frozen Set
x = frozenset(("v", "m", "d", "u", "s", "c"))
print(sorted(x))

输出

['e', 'g', 'o', 't', 'y', 'z']
['d', 'e', 'g', 'k', 'o', 'z']
['e', 'h', 'k', 'p', 'y', 'z']
['b', 'd', 'h', 'k', 'w', 'x']
['c', 'd', 'm', 's', 'u', 'v']

方法3:字符串排序

使用 sorted() 函数的可用性不仅限于数字,还可以用于字符串。字符串可以根据 ASCII 值进行字典排序,可以按升序和降序进行排序。这样,我们也可以在排序之后反转字符串或执行其他操作。

语法

res = ''.join(sorted(test_string, reverse = True))

这是反转字符串的语法,我们使用join函数和sorted()方法,并将reverse标志设置为True。这确保字符串被反转,并且按降序排列。

步骤

步骤1 - 初始化要反转的字符串

步骤2 - 调用join()和sorted()方法

步骤3 - 将字符串和reverse标志传递给sorted()函数

示例

test_string = "tutorialspoint"
print("The original string : " + str(test_string))
res = ''.join(sorted(test_string, reverse = True))
print("String after reverse sorting : " + str(res))

输出

The original string : tutorialspoint
String after reverse sorting : utttsrpoonliia

方法4:在lambda函数内部进行排序

Lambda函数是Python中的一类匿名函数。它们使用lambda关键字声明,并且只能包含一个表达式,但可以包含任意数量的参数。

语法

res = functools.reduce(lambda x, y: x + y,
 sorted(test_string, reverse=True))

通过上述语法,可以观察到对测试字符串进行排序并反转的结果,我们在其中使用了reduce()函数。在其内部使用了sorted函数来进行实际的排序,而lambda函数接受两个输入并将它们的和作为函数的输出。

步骤

步骤1 − 导入functools模块

步骤2 − 定义测试字符串

步骤3 − 按照语法将测试字符串传递给reduce()函数

步骤4 − 打印反转后的字符串

示例

# import the module
import functools
test_string = "tutorialspoint"
print("The original string : " + str(test_string))
res = functools.reduce(lambda x, y: x + y,  sorted(test_string,  reverse=True))
print("String after reverse sorting : " + str(res))

输出

The original string : tutorialspoint
String after reverse sorting : utttsrpoonliia

结论

在本文中,我们已经介绍了sorted()函数的各种用法。这个函数的多样且易用的应用使得它在许多过程的初步使用中非常好用。虽然这里无法讨论所有的其他用例,但这个函数还有其他几种用途。希望本文对于学习Python中一个非常有用的函数有所帮助!

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程