首頁 >後端開發 >Python教學 >如何在 Python 中對字串列表進行數字排序?

如何在 Python 中對字串列表進行數字排序?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-20 09:50:101010瀏覽

How to Numerically Sort a List of Strings in Python?

Python 中字串清單的數值排序

嘗試使用sort() 函數對Python 中的字串清單進行數值排序可能會導致意想不到的結果。 Python 中字串的預設排序演算法通常是按字母順序而不是數字。

要以數字方式對字串清單進行排序,必須先將字串轉換為整數。但是,提供的程式碼片段嘗試將字串轉換為整數,但不利用轉換後的值進行排序。

正確的方法是使用列表理解將字串轉換為整數:

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1 = [int(x) for x in list1]

一旦字串轉換為整數,就可以使用sort() 函數對列表進行排序:

list1.sort()

這將導致清單中按數字升序排序。

或者,如果需要將元素保留為字串,可以使用 key 函數來指定比較條件。在比較每個元素之前,會呼叫 key 函數,並使用返回值而不是元素本身進行比較:

list1.sort(key=int)

這也會按數字對列表進行排序,但元素將保留為字串。

以上是如何在 Python 中對字串列表進行數字排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn