【发布时间】:2019-06-28 09:48:30
【问题描述】:
我需要在不使用模块的情况下按降序但按密钥长度的升序获取排序的字典列表。最简单的方法。
我尝试先排序值然后排序键,但无济于事。
蟒蛇
data = {'Nikita': 1, 'Vectoran': 1, 'Aleksei': 2, 'Maksim': 1,
'Anton': 1, 'Dmitriy': 1, 'Viktor': 3, 'Sergey': 5,
'Pavel': 1, 'Roman': 1, 'Artemiy': 1, 'Stepan': 1,
'Evgeniy': 2, 'Ivan': 1, 'Aleksandr': 2, 'Vadim': 1,
'Abbas': 1, 'Anna': 1}
newdata = data.items()
res = sorted(newdata, key=lambda k: (k[1],k[0]), reverse=True)
print(res)
*output*
[('Sergei', 5), ('Viktor', 3), ('Evgeniy', 2), ('Aleksei', 2),
('Aleksandr', 2) .....]
*needed*
len4 len4 len5 len5
for example [('Anna', 1), ('Ivan', 1), ('Vadim', 1), ('Roman', 1),
len6 len6 len7 len7
('Sergey', 5), ('Viktor', 3), ('Evgeniy', 2), ('Dmitriy', 1)......]
【问题讨论】:
标签: python-3.x sorting