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=lambda x: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=lambda x:x[1])

#输出结果
print(test_data_2) #[(‘8‘, 2), (‘10‘, 5), (‘7‘, 6), (‘6‘, 9), (‘3‘, 11)]

test_data_3=sorted(dict_data.items(),key=lambda x:x[1],reverse=True)

#输出结果
print(test_data_3) #[(‘3‘, 11), (‘6‘, 9), (‘7‘, 6), (‘10‘, 5), (‘8‘, 2)]

方法二:

import operator

#初始化字典

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)]

原文地址:https://www.cnblogs.com/ltb6w/p/10923589.html

时间: 2024-11-08 03:55:35

Python对字典分别按键(key)和值(value)进行排序的相关文章

python通过字典dict判断指定键值是否存在

python中有两种方法可以判断指定的键值是否存在,一种是通过字典对象的方法 has_key 判断,另外一种是通过 in 方法,下面是详细的范例. 1 2 3 4 5 d={'site':'www.cnblogs.com','name':'cnblog','object':'asgdjaa'} #方法1:通过has_key print d.has_key('site') #方法2:通过in print 'body' in d.keys()

python 根据字典中的key,value进行排序

#coding=utf-8 import requests,json,collections,base64,datetime def sort(datas): data=json.dumps(datas)#dumps是将dict转化成str格式,loads是将str转化成dict格式. print u"data %s" % data data=json.loads(data) print type(data) msg=data['msg'] #获取msg中key,value print

Java中Map根据键值(key)或者值(value)进行排序实现

我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Key是唯一的,而value不唯一.Map是一个接口,我们不能 直接声明一个Map类型的对象,在实际开发中,比较常用的Map性数据结构是HashMap和TreeMap,它们都是Map的直接子类.如果考虑到存取 效率的话,建议使用HashMap数据结构,而如果需要考虑到Key的顺序,建议使用TreeMap,但是

Day4—python基础—字典and集合

字典就是键值对应,键唯一,无序.集合用来去重,关系测试,无序. 字典这种数据类型常用的方法有: 1.clear() print(name.clear()) 清除字典中的数据,输出结果为none 2.fromkeys() print(name.fromkeys(["c","z","p"],100)) 创建字典,通过列表的方式指定多个key,并将这些key赋予相同的值 输出结果为: {'c': 100, 'z': 100, 'p': 100} 3.g

python D5 字典

# 基本数据类型 :dict# 1.字典的基本介绍# 字典是python中唯一的一个映射类型,他是以{}括起来的键值对组成,在dict中key是# 唯一的.在保存的时候,根据key来计算出一个内存地址,然后将key-value保存在这个地址中.# 这种算法成为hash算法,所以,切记,在dict存储的key-value中的key必须是可hash的.# (key是可以hash的,可以改变不是可哈希的.)# 已知的可哈希(不可变)的数据类型:str(字符串).int(数字).tuple(元组).bo

python中字典操作大全.md

字典是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,速度非常快.下面列出字典的常用的用途. 创建字典的4种方式: #coding=utf-8 # 如果先能拼出整个字典,则此方法比较方便 Dict1 = {'name':'聚焦学院','age':6} print(Dict1) # {'name': '聚焦学院', 'age': 6} # 如果需要动态地建立字典的一个字段,则此方法比较方便 Dict2 = {} Dict2['name'] = '

python中字典的建立

字典由键key与值value构成. 如: a={'d':6,'f':'va'}print(a['f']) 上面代码简单建立字典,其中需要访问字典需要输入键值. a={} # 建立字典for i in range (4): for j in range(3): a[(i,j)]=[] # 令字典所有为空print(a) # 打印字典for i in range (4): for j in range(3): a[(i,j)]=j # 给字典赋值print(a) # 打印赋值后的字典print(a[

#有如下值集合[11,22,33,44,55,66,77,88,99,90...],将所有大于66值保存至字典的一个key中,将小于66的值保存至大二个key的值

1 #!/usr/bin/env python 2 #有如下值集合[11,22,33,44,55,66,77,88,99,90...],将所有大于66值保存至字典的一个key中,将小于66的值保存至大二个key的值 3 4 li = [11,22,33,44,55,66,77,88,99,90] 5 person = {">66":[],"<=66":[]} 6 for i,j in enumerate(li,0) : 7 8 if int(j) >

python 多级字典值合并

python 多级字典值合并: #!/bin/env python import os,sys,re import cStringIO f=open('/tmp/3.txt') ''' /tmp/3.txt content: 148616  '192.168.0.127:8080'    0.157   {'200': 130000, '206': 250, '301': 90, '302': 6698, '304': 6018, '406': 5} 148616  '192.168.0.127