xxxxxxxxxx
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
{k: v for k, v in sorted(x.items(), key=lambda item: item[1])}
{0: 0, 2: 1, 1: 2, 4: 3, 3: 4}
xxxxxxxxxx
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sort_by_key = dict(sorted(x.items(),key=lambda item:item[0]))
sort_by_value = dict(sorted(x.items(), key=lambda item: item[1]))
print("sort_by_key:", sort_by_key)
print("sort_by_value:", sort_by_value)
# sort_by_key: {0: 0, 1: 2, 2: 1, 3: 4, 4: 3}
# sort_by_value: {0: 0, 2: 1, 1: 2, 4: 3, 3: 4}
xxxxxxxxxx
d = {'one':1,'three':3,'five':5,'two':2,'four':4}
# Sort
a = sorted(d.items(), key=lambda x: x[1])
# Reverse sort
r = sorted(d.items(), key=lambda x: x[1], reverse=True)
xxxxxxxxxx
import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(1))
# Sort by key
import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(0))
xxxxxxxxxx
# your dictionary
a = {'a':4, 'c':5, 'b':3, 'd':0}
# sort x by keys
a_keys = dict(sorted(a.items(),key=lambda x:x[0],reverse = False)) # ascending order
# output: {'a': 4, 'b': 3, 'c': 5, 'd': 0}
# # sort x by values
a_values = dict(sorted(a.items(),key=lambda x:x[1],reverse = False)) # ascending order
# output: {'d': 0, 'b': 3, 'a': 4, 'c': 5}
xxxxxxxxxx
>>> d = {"aa": 3, "bb": 4, "cc": 2, "dd": 1}
>>> for k in sorted(d, key=d.get, reverse=True):
k, d[k]
('bb', 4)
('aa', 3)
('cc', 2)
('dd', 1)
xxxxxxxxxx
>>> x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
>>> {k: v for k, v in sorted(x.items(), key=lambda item: item[1])}
{0: 0, 2: 1, 1: 2, 4: 3, 3: 4}
xxxxxxxxxx
# How to sort a Python dict by value
# (== get a representation sorted by value)
>>> xs = {'a': 4, 'b': 3, 'c': 2, 'd': 1}
>>> sorted(xs.items(), key=lambda x: x[1])
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]
# Or:
>>> import operator
>>> sorted(xs.items(), key=operator.itemgetter(1))
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]
xxxxxxxxxx
A={1:2, -1:4, 4:-20}
{k:A[k] for k in sorted(A, key=A.get)}
output:
{4: -20, 1: 2, -1: 4}