在 Python 中以降序對列表進行排序

Rayven Esplanada 2022年12月26日 2021年4月29日 Python Python List
在 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 列表進行排序。

相關文章 - Python List

  • 在 Python 中將字典轉換為列表
  • 從 Python 列表中刪除某元素的所有出現
  • 在 Python 中從列表中刪除重複項
  • 如何在 Python 中獲取一個列表的平均值
  • Python 列表方法 append 和 extend 之間有什麼區別
  • 如何在 Python 中將列表轉換為字串