python中字典数据排序几种方法

字典的排序

先来演示字典的排序函数sort()的使用:

 代码如下 复制代码

dict = {"a":"apple","b":"banana","g":"grape","c":"oreage"}
print dict

#按照key进行排序。items可以用于字典的遍历,返回(key,value)的序列,lampda用于创建匿名函数,并返回计算结果,d[0]表示key

 代码如下 复制代码

print sorted(dict.items(), key=lampda d:d[0])

#按照value进行排序。同样d[1]表示value

print sorted(dict.items(), key=lampda d:d[1])

例子

 代码如下 复制代码

dict = [
                {'id':'4','name':'b'},
                {'id':'6','name':'c'},
                {'id':'3','name':'a'},
                {'id':'1','name':'g'},
                {'id':'8','name':'f'}
            ]
#dict.sort(lambda x,y: cmp(x['id'], y['id'])) 
dict = sorted(dict, key=lambda x:x['id'])
print dict

这种结构有很多用处。

月小升在计算一个字符串长度的时候,发现这个办法非常有效。

条件:有一个字符串数组

 代码如下 复制代码

a = ['adsfasdfsaf','asdfsadfsadfsadf','aaa'.....]

需要找出最长的三个字符串

办法就是

 代码如下 复制代码

dict = {}
dict.setdefault(“word”,adsfasdfsaf)
dict.setdefault(“len”,12)

arr = []

arr.append(dict)
arr = sorted(arr, key=lambda x:x['len'])

这样就按字符长度排序了。下面整理了一些排序例子

对字符串列表进行排序

 代码如下 复制代码
list_str = ['blue','allen','sophia','keen']
print list_str
list_str.sort()
print list_str
#执行结果:
['blue', 'allen', 'sophia', 'keen']
['allen', 'blue', 'keen', 'sophia']

对整型数进行排序

 代码如下 复制代码

list_int = [34,23,2,2333,45]
print list_int
list_int.sort()
print list_int
#执行结果:
[34, 23, 2, 2333, 45]
[2, 23, 34, 45, 2333]

对字典数据进行排序

 代码如下 复制代码
dict_str = {'blue':'5555@sina.com',
                'allen':'222@163.com',
                'sophia':'4444@gmail.com',
                'ceen':'blue@263.net'}
print dict_str
# 按照key进行排序
print sorted(dict_str.items(), key=lambda d: d[0])  
# 按照value进行排序
print sorted(dict_str.items(), key=lambda d: d[1])
#执行结果:
{'blue': '5555@sina.com', 'allen': '222@163.com', 'sophia': '4444@gmail.com', 'ceen': 'blue@263.net'}
[('allen', '222@163.com'), ('blue', '5555@sina.com'), ('ceen', 'blue@263.net'),('sophia', '4444@gmail.com')]
[('allen', '222@163.com'), ('sophia', '4444@gmail.com'), ('blue', '5555@sina.com'), ('ceen', 'blue@263.net')]
时间: 2024-09-26 09:03:36

python中字典数据排序几种方法的相关文章

在Python中调用ggplot的三种方法_python

本文提供了三种不同的方式在Python(IPython Notebook)中调用ggplot. 在大数据时代,数据可视化是一个非常热门的话题.各个BI的厂商无不在数据可视化领域里投入大量的精力.Tableau凭借其强大的数据可视化的功能成为硅谷炙手可热的上市公司.Tableau的数据可视化的产品,其理论基础其实是<The Grammar of Graphic>,该书提出了对信息可视化的图表的语法抽象体系,数据的探索和分析可以由图像的语法来驱动,而非有固定的图表类型来驱动,使得数据的探索过程变得

Python中文件遍历的两种方法_python

关于Python的文件遍历,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历. 方法一:利用os.walk os.walk可以自顶向下或者自底向上遍历整个文件树,然后返回一个含有3个元素的tuple,(dirpath, dirnames, filenames),要注意的是,os.walk()会返回一个generater,所以调用的时候一定要放到for循环中. 复制代码 代码如下: import osdef walk_dir(dirname): f

在SQL Server中迁移数据的几种方法_MsSql

1.通过工具"DTS"的设计器进行导入或者导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不 多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动.在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进入向导模式,按提示一步一步走就行了,里面分得很

在SQL Server中迁移数据的几种方法

1.通过工具"DTS"的设计器进行导入或者导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不 多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动.在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进入向导模式,按提示一步一步走就行了,里面分得很

php获取数组中重复数据的两种方法

(1)利用php提供的函数,array_unique和array_diff_assoc来实现 复制代码 代码如下: <?php function FetchRepeatMemberInArray($array) { // 获取去掉重复数据的数组 $unique_arr = array_unique ( $array ); // 获取重复数据的数组 $repeat_arr = array_diff_assoc ( $array, $unique_arr ); return $repeat_arr;

php获取数组中重复数据的两种方法_php技巧

(1)利用php提供的函数,array_unique和array_diff_assoc来实现 复制代码 代码如下: <?php function FetchRepeatMemberInArray($array) {     // 获取去掉重复数据的数组     $unique_arr = array_unique ( $array );     // 获取重复数据的数组     $repeat_arr = array_diff_assoc ( $array, $unique_arr );    

Android中使用Gson解析JSON数据的两种方法_Android

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. 从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词. 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海". 第三种类型是映射(mapping),也就是一个名/值对(

Android中使用Gson解析JSON数据的两种方法

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. 从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词. 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海". 第三种类型是映射(mapping),也就是一个名/值对(

ASP.NET中DropDownList下拉框列表控件绑定数据的4种方法_基础应用

DropDownList Web 服务器控件使用户能够从预定义的列表中选择一项.它与 ListBox Web 服务器控件的不同之处在于,其项列表在用户单击下拉按钮之前一直处于隐藏状态.另外,DropDownList 控件与 ListBox 控件的不同之处还在于它不支持多重选择模式. DropDownList在html中的呈现对应的是select,下面让我们来看一下DropDownList绑定数据的几种方法. 一.把Array数组绑到DropDownList 复制代码 代码如下: string[]