您好,歡迎來(lái)到一站式眾包服務(wù)平臺(tái)-威客牛網(wǎng)!
當(dāng)前位置:威客牛首頁(yè) > 知識(shí)百科 > IT軟件 > python sorted

python sorted

2025-07-11作者:網(wǎng)友投稿

在Python中,`sorted()` 是一個(gè)內(nèi)置函數(shù),用于對(duì)可迭代對(duì)象(如列表、元組等)進(jìn)行排序。這個(gè)函數(shù)會(huì)返回一個(gè)新的已排序的列表,而不會(huì)改變?cè)剂斜?。默認(rèn)情況下,`sorted()` 函數(shù)按照升序(從小到大)排序。如果你想按照降序(從大到小)排序,你可以通過(guò)傳遞 `reverse=True` 參數(shù)來(lái)實(shí)現(xiàn)。此外,你還可以使用 `key` 參數(shù)來(lái)指定一個(gè)函數(shù),該函數(shù)將從可迭代對(duì)象中抽取用于比較的元素。下面是一些示例:

基本用法

```python

# 創(chuàng)建一個(gè)列表

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

# 使用 sorted() 函數(shù)進(jìn)行排序

sorted_numbers = sorted(numbers)

print(sorted_numbers) # 輸出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

```

按降序排序

```python

# 使用 reverse=True 參數(shù)進(jìn)行降序排序

sorted_numbers_descending = sorted(numbers, reverse=True)

print(sorted_numbers_descending) # 輸出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

```

使用 key 參數(shù)指定排序規(guī)則

例如,如果你想根據(jù)列表中每個(gè)元素的字符串長(zhǎng)度來(lái)排序一個(gè)字符串列表,你可以這樣做:

```python

# 創(chuàng)建字符串列表

strings = ['apple', 'banana', 'cherry', 'date', 'elderberry']

# 使用 key 參數(shù)按照字符串長(zhǎng)度排序

sorted_strings = sorted(strings, key=len) # key 參數(shù)設(shè)置為 len 函數(shù)來(lái)獲取字符串長(zhǎng)度

print(sorted_strings) # 輸出:[['date', 'apple', 'cherry', 'banana', 'elderberry']] 因?yàn)?'date' 最短,然后是 'apple',依此類(lèi)推。注意結(jié)果是新的列表,原始列表不受影響。如果你要改變?cè)剂斜恚梢苑峙渑判蚝蟮牧斜砘卦兞浚簊trings = sorted_strings。然而這樣做會(huì)改變?cè)凶兞康念?lèi)型(從列表變?yōu)樵M),因?yàn)樵M是不可變的。因此通常我們不會(huì)這么做。如果你想要保持原有列表不變并且獲取排序后的結(jié)果,你應(yīng)該使用返回的排序結(jié)果列表而不更改原變量名。在這個(gè)例子中排序是穩(wěn)定的(保留等值元素的原始順序),但這依賴(lài)于特定的實(shí)現(xiàn)和Python版本。如果你想要穩(wěn)定的排序結(jié)果,通常不需要擔(dān)心這個(gè)問(wèn)題。如果你不確定,你可以查閱Python官方文檔中關(guān)于 `sorted()` 的更多信息以獲取保證。

免費(fèi)查詢(xún)商標(biāo)注冊(cè)