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

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

WBOY
发布: 2023-09-05 20:21:03
转载
1344 人浏览过

排序(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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板