我不知道是否有可能在所有的,但我有由許多值的像由數字和字符串的排序列表值
list = ["0.75543 blue", "0.5454 red", "0.113424 blue", "0.9993233 red" and so on] and so on.
換句話說,我有0和1,兩者之間的值的列表標籤藍色和紅色。當我點擊array.sort()
時,它不會正確排序,因爲列表中的值是字符串。我希望能夠根據值正確地對列表進行排序(獨立於標籤)。那可能嗎?
我不知道是否有可能在所有的,但我有由許多值的像由數字和字符串的排序列表值
list = ["0.75543 blue", "0.5454 red", "0.113424 blue", "0.9993233 red" and so on] and so on.
換句話說,我有0和1,兩者之間的值的列表標籤藍色和紅色。當我點擊array.sort()
時,它不會正確排序,因爲列表中的值是字符串。我希望能夠根據值正確地對列表進行排序(獨立於標籤)。那可能嗎?
是的,你可以根據字符串第一部分的數字值進行排序。只要通過sort
就可以從每個字符串中提取數字。
演示
>>> L = ["0.75543 blue", "0.5454 red", "0.113424 blue", "0.9993233 red"]
>>> L.sort(key=lambda l: float(l.split()[0]))
>>> L
['0.113424 blue', '0.5454 red', '0.75543 blue', '0.9993233 red']
此外,根據你在做什麼,你可能會發現更容易保存的價值標籤對元組。然後,排序是更容易(而且可能更直觀):
>>> L = [(0.75543, "blue"), (0.5454, "red"), (0.113424, "blue"), (0.9993233, "red")]
>>> L.sort(key=lambda t: t[0])
>>> L
[(0.113424, 'blue'), (0.5454, 'red'), (0.75543, 'blue'), (0.9993233, 'red')]
最後,請不要命名您的名單list
; list
是Python中的一種內置類型和函數(請參閱@ 2rs2ts的註釋)。
我已經試過了,但它說屬性錯誤:'浮動'對象沒有屬性'拆分' – user3149650
@ user3149650:你的列表是什麼樣的?它適用於我的演示中的列表,所以我假設你有點不同? – mdml
你是說,根據數字排序? – thefourtheye
是的。我只想對數字進行排序 – user3149650
不要使用'list'作爲變量名稱,因爲它是內置類型和函數。 – 2rs2ts