首页  >  文章  >  后端开发  >  排序(Sorted()):我在Python中最喜欢的函数

排序(Sorted()):我在Python中最喜欢的函数

WBOY
WBOY转载
2023-09-05 20:21:031295浏览

排序(Sorted()):我在Python中最喜欢的函数

简介

在 Python 中,sorted() 函数是开始排序时需要了解的最基本但有用的方法之一。此函数可用于对可迭代对象的元素进行排序,例如列表、字符串等。此函数对字符串和数字进行排序。默认情况下,它按升序排序,但也可以按降序排序。

Sorted()函数的使用方法

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

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

  • 对字符串进行排序

  • 在 lambda 函数内排序

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

sorted() 函数最基本的实现是对整数集合(有符号或无符号)进行排序。这可以按升序或降序进行。

语法

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

语法非常简单。我们只需将要排序的数字作为排序函数的参数,它就会按排序顺序返回数字。要按降序排序,我们需要在数字列表后面添加“反向”一词。这里需要注意的一件事是,数字必须放置在可迭代容器中才能使该方法发挥作用。

算法

第1步 - 调用sorted()函数

第二步 - 将数字列表作为参数传递,并在需要时使用“reverse”关键字

第三步 - 返回或打印输出

Example

的中文翻译为:

示例

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

输出

[1, 2, 3, 4] 

方法二:对列表、元组、集合和字典进行排序

序列的内容(如列表、元组、字符串)和集合(如集合、冻结集和数据集)的内容可以使用sorted()方法进行排序。该函数是Python内置库的一部分,因此无需编写大量代码即可轻松对内容进行排序。

语法

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

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

算法

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

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

第 3 步 - 打印或返回值

Example

的中文翻译为:

示例

# 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'] 

方法三:字符串排序

sorted() 函数的可用性不仅限于数字,还可以用于字符串。字符串可以使用 ASCII 值按字典顺​​序排序,并且可以按升序和降序排序。这样,我们还可以在排序后对字符串进行反转或者执行其他应用。

语法

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

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

算法

第 1 步− 初始化字符串以进行反转

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

第3步 - 将字符串和反向标志传递给sorted()函数

Example

的中文翻译为:

示例

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()函数。排序函数用于执行实际排序,而 lambda 函数接受两个输入并返回其总和作为函数输出。

算法

第 1 步 - 导入 functools 模块

第 2 步 - 定义测试字符串

第3步 - 根据语法将测试字符串传递给reduce()函数

第四步 - 打印反转后的字符串

Example

的中文翻译为:

示例

# 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 中一个非常有用的函数有所帮助!

以上是排序(Sorted()):我在Python中最喜欢的函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除