xxxxxxxxxx
{12:2, 9:1, 14:2}
{100:1, 90:4, 99:3, 92:1, 101:1}
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
s = {1: 1, 7: 2, 4: 2, 3: 1, 8: 1}
k = dict(sorted(s.items(),key=lambda x:x[0],reverse = True))
print(k)
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
from operator import itemgetter
new_dict = sorted(data.items(), key=itemgetter(1))
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
{k: v for k, v in sorted(dic.items(), key=lambda item: item[1])}
xxxxxxxxxx
#instead of using python inbuilt function we can it compute directly.
#here iam sorting the values in descending order..
d = {1: 1, 7: 2, 4: 2, 3: 1, 8: 1}
s=[]
for i in d.items():
s.append(i)
for i in range(0,len(s)):
for j in range(i+1,len(s)):
if s[i][1]<s[j][1]:
s[i],s[j]=s[j],s[i]
print(dict(s))