Python实现对字典分别按键(key)和值(value)进行排序的方法分析
本文实例讲述了Python实现对字典分别按键(key)和值(value)进行排序的方法。分享给大家供大家参考,具体如下:
方法一:
#使用sorted函数进行排序
'''
sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数;
其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等
key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,
reverse=false时则是顺序,默认时reverse=false。
'''
#初始化字典
dict_data={6:9,10:5,3:11,8:2,7:6}
1、对字典按键(key)进行排序
#对字典按键(key)进行排序(默认由小到大) test_data_0=sorted(dict_data.keys()) #输出结果 print(test_data_0)#[3,6,7,8,10] test_data_1=sorted(dict_data.items(),key=lambdax:x[0]) #输出结果 print(test_data_1)#[(3,11),(6,9),(7,6),(8,2),(10,5)]
2、对字典按值(value)进行排序
#对字典按值(value)进行排序(默认由小到大)
test_data_2=sorted(dict_data.items(),key=lambdax:x[1])
#输出结果
print(test_data_2)#[('8',2),('10',5),('7',6),('6',9),('3',11)]
test_data_3=sorted(dict_data.items(),key=lambdax:x[1],reverse=True)
#输出结果
print(test_data_3)#[('3',11),('6',9),('7',6),('10',5),('8',2)]
方法二:
importoperator
#初始化字典
dict_data={6:9,10:5,3:11,8:2,7:6}
#按键(key)进行排序
test_data_4=sorted(dict_data.items(),key=operator.itemgetter(0))
test_data_5=sorted(dict_data.items(),key=operator.itemgetter(0),reverse=True)
print(test_data_4)#[(3,11),(6,9),(7,6),(8,2),(10,5)]
print(test_data_5)#[(10,5),(8,2),(7,6),(6,9),(3,11)]
#按值(value)进行排序
test_data_6=sorted(dict_data.items(),key=operator.itemgetter(1))
test_data_7=sorted(dict_data.items(),key=operator.itemgetter(1),reverse=True)
print(test_data_6)#[(8,2),(10,5),(7,6),(6,9),(3,11)]
print(test_data_7)#[(3,11),(6,9),(7,6),(10,5),(8,2)]
附: