在 Python 中以降序對列表進行排序
本教程演示瞭如何在 Python 中按降序對列表進行排序。
在 Python 中使用 sort()
方法以降序對列表進行排序
Python 具有稱為 sort()
的內建函式,預設情況下,該函式以升序排列列表。此方法僅對給定列表的內容進行排序。它沒有任何必需的引數,但具有可選引數:
key
- 確定在多維陣列內對哪個索引或位置進行排序。reverse
- 如果為True
,則列表以降序排列。
讓我們看看該方法如何對有引數和無引數的列表進行排序:
- 無引數:
colors = ['pink', 'blue', 'black', 'white']
colors.sort()
print(colors)
輸出:
['black', 'blue', 'pink', 'white']
該列表根據字串的 ASCII 值對字串進行排序,這些字串是單個字元的整數對應部分。如果比較中的兩個字串都具有相同的 ASCII 值,則它將繼續比較兩個字串的下一個字元,直到沒有可比較的內容為止。
- 使用
reverse
引數:
colors = ['pink', 'blue', 'black', 'white']
colors.sort(reverse = True)
print(colors)
輸出:
['white', 'pink', 'blue', 'black']
將 reverse
引數設定為 True
可以對列表進行降序排列。
排序整數和浮點數是根據數值大小進行排序。讓我們用另一個例子試試,這次是按降序對整數和小數進行排序。
numbers = [55, 6, -0.05, 0.07, 2.5, -7, 2.99, 101, 0.78]
numbers.sort(reverse = True)
print(numbers)
輸出:
[101, 55, 6, 2.99, 2.5, 0.78, 0.07, -0.05, -7]
從輸出結果來看,使用 sort()
函式對數字進行排序時注意到了小數和負數。
這種型別的排序也適用於格式為 YYYY-MM-DD HH:MM:SS
的日期。讓我們以時間戳列表為例來證明這一點。
timestamps = [
"2021-04-15 09:08:30",
"2021-04-14 08:09:38",
"2021-04-18 12:10:52",
"2021-04-21 23:39:22",
"2021-04-13 14:40:22",
"2021-04-14 13:59:46",
"2021-04-15 19:22:37",
"2021-04-18 07:00:58",
"2021-04-17 04:01:50",
"2021-04-22 01:17:13",
"2021-04-25 24:22:13",
"2021-04-14 25:36:38"
]
timestamps.sort(reverse = True)
print(timestamps)
輸出:
['2021-04-25 24:22:13', '2021-04-22 01:17:13', '2021-04-21 23:39:22', '2021-04-18 12:10:52', '2021-04-18 07:00:58', '2021-04-17 04:01:50', '2021-04-15 19:22:37', '2021-04-15 09:08:30', '2021-04-14 25:36:38', '2021-04-14 13:59:46', '2021-04-14 08:09:38', '2021-04-13 14:40:22']
觀察到輸出已成功按降序排序,從而確認時間戳也可以通過將 sort()
函式與 reverse
引數一起使用進行正確排序。
總而言之,使用內建的 sort()
函式並將 reverse
引數設定為 True
可以按降序對 Python 列表進行排序。
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn