2015-11-01 7 views
-1

я есть словарь, как этотСортировка словаря значений

{'michael': ['8', '6', '7'], 'robyn': ['2', '9', '2'], 'sarah': ['4', '3', '5']} 

И мне нужно, чтобы иметь возможность сортировать выработать средние значения и поместить их в список с именем пользователей от самого высокого до самого низкого. Я также должен уметь помещать словарь в список, где его отсортировано в алфавитном порядке, и, наконец, мне нужно иметь список, содержащий имя пользователя, и там самый высокий балл, это также от наивысшего до самого низкого. Я пытался это сделать, но до сих пор я не увенчался успехом, поэтому я ценю любую помощь.

+0

Вы покажите нам свой код? –

ответ

0
d = {'michael': ['8', '6', '7'], 'robyn': ['2', '9', '2'], 'sarah': ['4', '3', '5']} 

li = [] 

for k,v in d.items(): 
    li.append((k,sorted([int(el) for el in v],reverse=True))) 

li = sorted(li,key=lambda x: (x[0])) 

print(li) 

[('michael', [8, 7, 6]), ('robyn', [9, 2, 2]), ('sarah', [5, 4, 3])] 
+0

спасибо, что это прекрасно работает, как насчет алфавитного и размерного порядка этих ценностей, сможете ли вы с этим справиться? – dansymail011

+0

@ dansymail011 Вы писали, что вам нужен "самый высокий к самому низкому". Вы хотите сортировать по алфавиту? – LetzerWille

+0

извините, если я не был ясен, мне нужно, чтобы оба они отсортировались в алфавитном порядке имен, а затем в самом высоком и самом низком для самого высокого для каждого отдельного пользователя. больной комментарий, что ив уже пытались под – dansymail011

Смежные вопросы