字典排序
import operator
d={'12':'1','1':'12'}
# 对key排序
sorted_k=sorted(d.items(),key=operator.itemgetter(0))
print(sorted_k)
>>[('1', '12'), ('12', '1')]
# 对value排序
sorted_v=sorted(d.items(),key=operator.itemgetter(1))
print(sorted_v)
>>[('12', '1'), ('1', '12')]
列表里的字典排序
方法一:
# 按name排序
x=[{'age': 39, 'name': '2'}, {'age': 10, 'name': '3'}]
sorted_x = sorted(x, key=lambda x : x['name'])
print(sorted_x)
>>>[{'name': '2', 'age': 39}, {'name': '3', 'age': 10}]
# 按age排序
x2=[{'age': 39, 'name': '2'}, {'age': 10, 'name': '3'}]
sorted_x2 = sorted(x, key=lambda x : x['age'])
print(sorted_x2)
>>>[{'name': '3', 'age': 10}, {'name': '2', 'age': 39}]
# 按name排序
x3=[{'age': 39, 'name': '2'}, {'age': 10, 'name': '3'}]
sorted_x3 = sorted(x, key=lambda x : x['age'],reverse=True)
print(sorted_x3)
>>>[{'name': '2', 'age': 39}, {'name': '3', 'age': 10}]
方法二:
import operator
# 按name排序
x=[{'age': 39, 'name': '2'}, {'age': 10, 'name': '3'}]
sorted_x = sorted(x, key=operator.itemgetter('name'))
print(sorted_x)
>>>[{'age': 39, 'name': '2'}, {'age': 10, 'name': '3'}]
# 按age排序
x2=[{'age': 39, 'name': '2'}, {'age': 10, 'name': '3'}]
sorted_x2 = sorted(x, key=operator.itemgetter('age'))
print(sorted_x2)
>>>[{'age': 10, 'name': '3'}, {'age': 39, 'name': '2'}]
# 按name排序
x3=[{'age': 39, 'name': '2'}, {'age': 10, 'name': '3'}]
sorted_x3 = sorted(x, key=lambda x : x['age'],reverse=True)
print(sorted_x3)
>>>[{'age': 39, 'name': '2'}, {'age': 10, 'name': '3'}]