我有一個字典列表,其值存儲爲字符串。我想通過將值作爲整數而不是字符串來對它們進行排序。 代碼,我通過將字符串的整數值存儲爲字符串來對字典列表進行排序
XWordDict=[{"name":"ABC","pos":"1"},{"name":"GHI","pos":"10"},{"name":"DEF","pos":"2"}]
Xlistsorted=sorted(XWordDict,key=(operator.itemgetter("pos")))
這一聲令下如
[{'name': 'ABC', 'pos': '1'}, {'name': 'GHI', 'pos': '10'}, {'name': 'DEF', 'pos': '2'}]
但是我想這是
[{'name': 'ABC', 'pos': '1'}, {'name': 'DEF', 'pos': '2'}, {'name': 'GHI', 'pos': '10'}]
如果我改變
Xlistsorted=sorted(XWordDict,key=int(operator.itemgetter("pos)))
它提供了一個錯誤
TypeError: int() argument must be a string or a number, not 'operator.itemgetter'
如果你想要訂單使用OrderedDict,你也不能有重複的鍵 – 2014-11-04 00:14:27
你的示例字典是無效的Python代碼,嘗試將人們可以輕鬆複製粘貼到控制檯中的東西(通過複製粘貼到*你的控制檯)。 – Marius 2014-11-04 00:15:25