java做的網(wǎng)站源碼seo發(fā)包技術(shù)教程
Python中的sort()
函數(shù)主要用于對(duì)列表(list)中的元素進(jìn)行排序。它有兩種形式:一種是列表的方法(即直接對(duì)列表對(duì)象調(diào)用),另一種則是內(nèi)置的sorted()
函數(shù),它返回一個(gè)新的已排序列表,而不改變?cè)剂斜怼?/p>
列表的sort()
方法
使用列表的sort()
方法時(shí),它會(huì)直接修改原列表,使其元素按照升序(從小到大)排列。
基本用法:
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]
參數(shù):
reverse=True
:降序排序key
:用于比較的函數(shù),例如按照字符串長(zhǎng)度排序或按照元素的某個(gè)屬性排序
示例:
降序排序:
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]
使用key
參數(shù):
假設(shè)我們有一個(gè)包含字典的列表,我們想要根據(jù)字典中的某個(gè)值進(jìn)行排序:
data = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}]
data.sort(key=lambda item: item['age'])
print(data)
# 輸出:[{'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}, {'name': 'Alice', 'age': 25}]
內(nèi)置的sorted()
函數(shù)
sorted()
函數(shù)接受一個(gè)可迭代對(duì)象(如列表、元組等)作為輸入,并返回一個(gè)新的已排序列表。原列表不會(huì)被修改。
基本用法:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list) # 輸出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
print(my_list) # 輸出:[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5],原列表未被修改
參數(shù):
sorted()
函數(shù)的參數(shù)與sort()
方法相同,包括reverse
和key
。
總之,sort()
和sorted()
在功能上是相似的,主要區(qū)別在于前者會(huì)修改原列表,而后者會(huì)返回一個(gè)新的已排序列表。根據(jù)你的具體需求選擇使用哪個(gè)函數(shù)。