使用值(字符串) - 名称和数字(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
显示您的测试数据 –