python中sort函数的用法

如题所述

sort函数基本用法seq.sort(key=None,reverse=False)参数解释:seq表示一个序列key主要是用来进行比较的元素,只有一个参数。

sorted函数不会改变原有的list,而是返回一个新的排好序的list。如果你想使用就地排序,也就是改变原list的内容,那么可以使用list.sort()的方法,这个方法的返回值是None。

另一个区别是,list.sort()方法只是list也就是列表类型的方法,只可以在列表类型上调用。而sorted方法则是可以接受任何可迭代对象。

list.sort()和sorted()函数都有一个key参数,可以用来指定一个函数来确定排序的一个优先级。比如,这个例子就是根据大小写的优先级进行排序。

key参数的值应该是一个函数,这个函数接受一个参数然后返回以一个key,这个key就被用作进行排序。这个方法很高效,因为对于每一个输入的记录只需要调用一次key函数。

历史背景:

1970年,AT&T贝尔实验室的工作人员D.Ritchie和K.Thompson共同研发了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,实际上C语言是UNIX的“副产品”。1971年,瑞士联邦技术学院N.Wirth教授发明了第一个结构化的编程语言Pascal。

20世纪70年代中期,本贾尼·斯特劳斯特卢普在剑桥大学计算机中心工作。斯特劳斯特卢普希望开发一个既要编程简单、正确可靠,又要运行高效、可移植的计算机程序设计语言。而以C语言为背景,以Simula思想为基础的语言,正好符合斯特劳斯特卢普的初衷和设想。

1979年,本贾尼·斯特劳斯特卢普到了AT&T贝尔实验室,开始从事将C改良为带类的C(Cwithclasses)的工作。、1983年,该语言被正式命名为C++。1985年、1990年和1994年,C++先后进行3次主要修订。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-09-04
sort函数是Python内置的一个排序函数,可以对列表(list)或其他可迭代对象进行排序。它的基本语法如下:
sort(key=None, reverse=False)
其中,key参数是一个可选参数,用于指定排序的依据,通常用于对元组或字典进行排序;reverse参数也是一个可选参数,用于指定排序的顺序,如果为True则按降序排序,如果为False则按升序排序。
下面是一些使用sort函数的示例:
对列表进行排序:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort()
print(my_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
在上面的示例中,我们定义了一个列表my_list,然后使用sort函数对其进行排序。默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的。
对元组进行排序:
my_tuple = (3, 'apple', 2, 'banana', 1, 'orange')
my_tuple.sort()
print(my_tuple) # 输出 (1, 'orange', 2, 'banana', 3, 'apple')
在上面的示例中,我们定义了一个元组my_tuple,然后使用sort函数对其进行排序。默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的。
对字典进行排序:
my_dict = {'a': 3, 'b': 2, 'c': 1}
my_dict.sort(key=lambda x: my_dict[x])
print(my_dict) # 输出 {'a': 3, 'b': 2, 'c': 1}
在上面的示例中,我们定义了一个字典my_dict,然后使用sort函数对其进行排序。由于字典是无序的,因此排序后的结果仍然是原来的字典。这里使用了一个lambda表达式作为key参数的值,用于指定排序的依据。在这个例子中,我们按照字典中每个键对应的值进行排序。
对字符串进行排序:
my_string = 'Hello World'
sorted_string = sorted(my_string)
print(sorted_string) # 输出 [' ', 'H', 'W', 'd', 'e', 'l', 'l', 'o']
在上面的示例中,我们定义了一个字符串my_string,然后使用sorted函数对其进行排序。sorted函数会返回一个新的列表,包含按升序排列的字符串中的字符。
需要注意的是,在使用sort或sorted函数时,如果要按降序排序,可以将reverse参数设置为True。例如:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort(reverse=True)
print(my_list) # 输出 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
相似回答