使用值(字符串) - 名稱和數字(int)的字典。在python中按字母排序字母表中的字母
我希望字典按名稱排序。
有:
sorted(dictList, key = lambda (k,v): v['name'])
,但得到 - 「字符串指數必須intergers,不STR」。
def to_dict(lstData) :
dct = dict();
for dctData in lstData :
dct[dctData['id']] = dctData['name'];
return dct;
Units = to_dict(db.getUnits());
sorted(Units, key = lambda k: Units[k]['name']);
如果我RUN- 排序(dctunits,鍵=拉姆達X:X [1])
我得到:'long' object is unsubscriptable
。
它對錯誤的值進行排序。 在(X = 1L)
builtin sorted = <built-in function sorted>,
global dctUnits = {1L: 'kg', 2L: 'day', 3L: 'week',
4L: 'month', 5L: 'g/L', 6L: 'ug/dL', 7L: 'ng/mL',
8L: 'year', 9L: 'min/day', 10L: 'cm', ...},
key undefined,
x = 1L
X應該是 '公斤' ..
那是什麼,我缺的是?
向我們展示你的數據結構,你說這是一個字典,但你稱之爲'dictList' – jamylak
所以你想按他們的名字排序一個字典列表? – Marcus
顯示您的測試數據 –