I have a dictionary that looks like this..
JavaScript
x
8
1
results =
2
{'agunii2035': ['agunii3007', 'agunii2006', 'agunii2003', 'agunii3000'],
3
'agunii3007': ['agunii2035', 'agunii2006', 'agunii2003', 'agunii3000'],
4
'agunii2006': ['agunii2035', 'agunii3007', 'agunii2003', 'agunii3000'],
5
'agunii2003': ['agunii2035', 'agunii3007', 'agunii2006', 'agunii3000'],
6
'agunii3000': ['agunii2035', 'agunii3007', 'agunii2006', 'agunii2003']}
7
8
and I have another dictionary with some score like this..
JavaScript
1
8
1
score =
2
{'agunii2035': [4, 4, 1, 3],
3
'agunii3007': [4, 3, 3, 1],
4
'agunii2006': [4, 3, 2, 2],
5
'agunii2003': [1, 3, 2, 1],
6
'agunii3000': [3, 1, 2, 1]}
7
8
I want to sort the values of “results” dictionary based on values of “score” dictionary.
For example,
For the key ‘agunii2035’, the score dictionary has values [ 4,4,1,3]
. So, I want to sort the values of “results” dictionary for the same key as ['agunii3007', 'agunii2006', 'agunii3000','agunii2003']
instead of ['agunii3007', 'agunii2006', 'agunii2003', 'agunii3000']
.
Advertisement
Answer
JavaScript
1
18
18
1
results = {'agunii2035': ['agunii3007', 'agunii2006', 'agunii2003', 'agunii3000'],
2
'agunii3007': ['agunii2035', 'agunii2006', 'agunii2003', 'agunii3000'],
3
'agunii2006': ['agunii2035', 'agunii3007', 'agunii2003', 'agunii3000'],
4
'agunii2003': ['agunii2035', 'agunii3007', 'agunii2006', 'agunii3000'],
5
'agunii3000': ['agunii2035', 'agunii3007', 'agunii2006', 'agunii2003']}
6
7
score = {'agunii2035': [4, 4, 1, 3],
8
'agunii3007': [4, 3, 3, 1],
9
'agunii2006': [4, 3, 2, 2],
10
'agunii2003': [1, 3, 2, 1],
11
'agunii3000': [3, 1, 2, 1]}
12
13
ordered_results = {key:[item for _, item in
14
sorted(zip(score.get(key), value), reverse=True)]
15
for key, value in results.items()}
16
17
print(ordered_results)
18
output
JavaScript
1
6
1
{'agunii2035': ['agunii3007', 'agunii2006', 'agunii3000', 'agunii2003'],
2
'agunii3007': ['agunii2035', 'agunii2006', 'agunii2003', 'agunii3000'],
3
'agunii2006': ['agunii2035', 'agunii3007', 'agunii3000', 'agunii2003'],
4
'agunii2003': ['agunii3007', 'agunii2006', 'agunii3000', 'agunii2035'],
5
'agunii3000': ['agunii2035', 'agunii2006', 'agunii3007', 'agunii2003']}
6