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中文網其他相關文章!