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次主要修订。



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]

  • sort鍦╬ython涓殑鍚箟
    绛旓細鍦≒ython缂栫▼涓紝sort鍑芥暟鏄竴涓潪甯稿己澶х殑宸ュ叿锛鐢ㄤ簬瀵瑰垪琛ㄨ繘琛屾帓搴銆傚畠鍙互鏍规嵁鐗瑰畾鐨勬帓搴忚鍒欙紝瀵瑰垪琛ㄥ厓绱犺繘琛屽崌搴忔垨闄嶅簭鎺掑垪銆傞粯璁ゆ儏鍐典笅锛宻ort鍑芥暟鎸夌収鍒楄〃鍏冪礌鐨勫ぇ灏忓鍒楄〃杩涜鍗囧簭鎺掑簭銆傚湪杩欎釜渚嬪瓙涓紝鎴戜滑鍒涘缓浜嗕竴涓悕涓簄umbers鐨勫垪琛紝鍏朵腑鍖呭惈5涓暣鏁板厓绱犮傜劧鍚庯紝鎴戜滑浣跨敤sort鍑芥暟瀵瑰垪琛ㄨ繘琛屽崌搴忔帓搴忥紝...
  • python涓璼ort鍑芥暟鐨鐢ㄦ硶
    绛旓細sort鍑芥暟鍩烘湰鐢ㄦ硶seq.sort锛坘ey锛漀one锛宺everse锛滷alse锛夊弬鏁拌В閲婏細seq琛ㄧず涓涓簭鍒梜ey涓昏鏄敤鏉ヨ繘琛屾瘮杈冪殑鍏冪礌锛屽彧鏈変竴涓弬鏁銆俿orted鍑芥暟涓嶄細鏀瑰彉鍘熸湁鐨刲ist锛岃屾槸杩斿洖涓涓柊鐨勬帓濂藉簭鐨刲ist銆傚鏋滀綘鎯充娇鐢ㄥ氨鍦版帓搴忥紝涔熷氨鏄敼鍙樺師list鐨勫唴瀹癸紝閭d箞鍙互浣跨敤list.sort锛堬級鐨勬柟娉曪紝杩欎釜鏂规硶鐨勮繑鍥炲兼槸None銆...
  • python sort()鐢ㄦ硶
    绛旓細print sorted('Python') #['P', 'h', 'n', 'o', 't', 'y']浜屻佽嚜瀹氫箟姣旇緝鍑芥暟 鍙互瀹氫箟鑷繁鐨勬瘮杈冨嚱鏁帮紝鐒跺悗閫氳繃鍙傛暟浼犻掔粰sort鏂规硶锛歞ef comp(x, y):if x < y:return 1elif x > y:return -1else:return 0nums = [3, 2, 8 ,0 , 1]nums.sort(comp)print nums # 闄嶅簭鎺...
  • sort鍦╬ython涓殑鐢ㄦ硶
    绛旓細sort鍦╬ython涓殑鐢ㄦ硶鏄帓搴忓垪琛銆傚湪python涓紝sort鏄垪琛ㄦ帓搴忕殑涓绉嶆柟娉曪紝璋冪敤鏂瑰紡涓簂ist.sort锛堬級锛岃繖鏍蜂細鏀瑰彉鍘熸潵鍒楄〃鐨勫笺俿ort锛坘ey锛宺everse锛夋柟娉曟湁key鍜宺everse涓ょ鍙傛暟锛屽叾涓璳ey琛ㄧず鐨勬槸鎺掑簭鐨勫叧閿瓧锛宺everse琛ㄧず鐨勬槸鎺掑簭鐨勬柟寮忥紙reverse=False琛ㄧず鍗囧簭鍜宺everse=True琛ㄧず闄嶅簭锛夈俿ort锛堬級鏂规硶榛樿鏄...
  • Python閲岀殑sort璇彞
    绛旓細Python涓殑sort()鍑芥暟鏄簭鍒楃殑鍐呴儴鍑芥暟锛屽嚱鏁板師鍨嬶細L.sort(cmp=None, key=None, reverse=False)鍑芥暟浣滅敤锛氬畠鏄妸L鍘熷湴鎺掑簭锛屼篃灏辨槸浣跨敤鍚庡苟涓嶆槸杩斿洖涓涓湁搴忕殑搴忓垪鍓湰锛岃屾槸鎶婂綋鍓嶅簭鍒楀彉寰楁湁搴忋Python涓璼ort()鍙傛暟璇存槑锛(1) cmp鍙傛暟 cmp鎺ュ彈涓涓嚱鏁帮紝鎷挎暣褰妇渚嬶紝褰㈠紡涓猴細def f(a,b):return...
  • python鎬庝箞浣跨敤sort
    绛旓細涓銆佸熀鏈舰寮 sorted(iterable[, cmp[, key[, reverse]]])iterable.sort(cmp[, key[, reverse]])鍙傛暟瑙i噴锛氾紙1锛塱terable鎸囧畾瑕佹帓搴忕殑list鎴栬卛terable锛屼笉鐢ㄥ璇达紱锛2锛塩mp涓哄嚱鏁帮紝鎸囧畾鎺掑簭鏃惰繘琛屾瘮杈鐨勫嚱鏁锛屽彲浠ユ寚瀹氫竴涓嚱鏁版垨鑰卨ambda鍑芥暟锛屽锛歴tudents涓虹被瀵硅薄鐨刲ist锛屾病涓垚鍛樻湁涓変釜鍩燂紝鐢...
  • sort銆sorted鎺掑簭鎶宸(澶氱骇鎺掑簭)
    绛旓細鍙︿竴涓笉鍚屽氨鏄痩ist.sort()鏂规硶浠呰瀹氫箟鍦╨ist涓紝鐩稿弽鍦sorted()鏂规硶瀵规墍鏈夌殑鍙凯浠e簭鍒楅兘鏈夋晥銆2锛塳ey鍙傛暟/鍑芥暟 浠python2.4寮濮嬶紝list.sort()鍜宻orted()鍑芥暟澧炲姞浜唊ey鍙傛暟鏉ユ寚瀹氫竴涓嚱鏁帮紝姝ゅ嚱鏁板皢鍦ㄦ瘡涓厓绱犳瘮杈冨墠琚皟鐢ㄣ 渚嬪閫氳繃key鎸囧畾鐨勫嚱鏁版潵蹇界暐瀛楃涓茬殑澶у皬鍐欙細key鍙傛暟鐨勫间负涓涓嚱...
  • sort鍜sorted鍑芥暟鐨鍖哄埆鏄粈涔?
    绛旓細1銆sort鍑芥暟锛歴ort鍑芥暟娌℃湁杩斿洖鍊硷紝浼氭敼鍙樺師鍏冪礌鐨勫笺2銆sorted鍑芥暟锛歴orted鍑芥暟鏈夎繑鍥炲硷紝涓嶄細鏀瑰彉鍘熷厓绱犵殑鍊笺備簩銆佽娉曚笉鍚 1銆乻ort鍑芥暟锛歴ort鐢ㄦ硶鏄痵ort(cmp=None锛宬ey=None锛宺everse=False)銆2銆乻orted鍑芥暟锛歴orted鐢ㄦ硶鏄痵orted(iterable锛宑mp=None锛宬ey=None锛宺everse=False)銆備笁銆鍑芥暟鐨瀹氫箟褰㈠紡...
  • 鎬庢牱鐢python灏嗘暟缁閲岀殑鏁颁粠楂樺埌浣庢帓搴
    绛旓細1銆侀鍏堟垜浠畾涔変竴涓垪琛ㄨ緭鍏ヤ竴涓插ぇ灏忎笉涓鐨鏁板瓧銆2銆佸彲浠ョ敤sort()鏂规硶瀵瑰畾涔夌殑鍒楄〃鎺掑簭锛屾敞鎰忥紝sort鍙槸瀵瑰垪琛ㄦ帓搴忥紝瀹冩病鏈夎繑鍥炰竴涓笺3銆佽緭鍏rint鍒楄〃鍚嶅嵆鍙緱鍒版帓搴忓悗鐨勫垪琛ㄦ暟鎹4銆佸掑簭鍙互鐢ㄨ繖涓猺everse鏂规硶锛屾妸鍏冪礌浣嶇疆鍊掕浆杩囨潵銆5銆佺劧鍚庡啀娆rint鍒楄〃鍚嶏紝杩欐牱灏变細寰楀埌鍊掕浆椤哄簭涔嬪悗鐨勫垪琛ㄦ暟鎹5銆...
  • Python涓敤sort()鍐欏嚭浜х敓涓涓0~100闂撮殢鏈烘暣鏁,骞跺垪鍑烘渶澶у拰鏈灏忓厓 ...
    绛旓細鍙互浣跨敤 Python 涓殑 random 妯″潡鏉ョ敓鎴 0 鍒 100 涔嬮棿鐨勯殢鏈烘暣鏁帮紝鍐嶄娇鐢 sort() 鏂规硶瀵归殢鏈烘暟鍒楄〃杩涜鎺掑簭锛屾渶鍚庤緭鍑烘渶澶у煎拰鏈灏忓煎嵆鍙備笅闈㈡槸涓涓ず渚嬩唬鐮侊細import random 鐢熸垚 10 涓 0 鍒 100 涔嬮棿鐨勯殢鏈烘暣鏁 random_list = [random.randint(0, 100) for _ in range(10)]瀵归殢鏈烘暟鍒楄〃...
  • 扩展阅读:python sort key ... python降序排列sort ... python中index函数用法 ... python的for in 用法 ... python中的map函数 ... python中for循环的用法 ... python中sort的用法 ... sort函数在python是干嘛的 ... python中sort和sorted ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网