我有一個字典,其中包含鍵和值的字符串。我需要按字符串排序,所以當我去dict.values()時,我得到了排序列表。複雜python字典按值排序
的字符串值是這樣的:45_12_something_23
我需要數字作爲數字和字符串作爲字符串進行排序。給定的行保證是字符串或數字(不是混合)。
在python中做到這一點最好的方法是什麼?性能不是問題。
我有一個字典,其中包含鍵和值的字符串。我需要按字符串排序,所以當我去dict.values()時,我得到了排序列表。複雜python字典按值排序
的字符串值是這樣的:45_12_something_23
我需要數字作爲數字和字符串作爲字符串進行排序。給定的行保證是字符串或數字(不是混合)。
在python中做到這一點最好的方法是什麼?性能不是問題。
將您的字典轉換爲(鍵,值)對列表。按照你的喜好排序它們。 (或者是你的問題 - 如何做?)然後插入排序(鍵,值)對collections.OrderedDict
,這將記住插入順序和迭代時使用相同的順序。
請注意,您不能修改dict
你已經有了,這將使新dict
你想要的屬性。
是的,那是我一直在採取的方法 - 所以我現在有一個2維列表,我的字符串分解成另一個實際值列表。如何使用sorted()來正確分類這個新的2D列表? –
http://wiki.python.org/moin/HowTo/Sorting/ –
酷,所以我認爲排序(列表,鍵= itemgetter(i))會給我什麼我後。乾杯基斯! –
詞典沒有訂單... – Hamish
如果您想要一個排序的鍵列表:編寫您自己的排序方法,將鍵分成幾部分,將其歸一化並將其作爲可排序鍵提供。查看排序的()文檔 –