python中字典排序,列表中的字典排序

一.使用python模块:operator

import operator #首先要导入模块operator

x = {1:2, 3:4, 4:3, 2:1, 0:0}
sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1)) #按字典值排序(默认为升序)
print(sorted_x) #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1), reverse=True) #如果要降序排序(一),可以指定reverse=True
#sorted_x.reverse()#排序二:或者直接使用list的reverse方法将sorted_x顺序反转
print (sorted_x) #[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]

二. 更为常用的方法是,用lambda表达式

x = {1:2, 3:4, 4:3, 2:1, 0:0}

sorted_x = sorted(x.items(), key=lambda x : x[1])
print(sorted_x) #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] sorted_x = sorted(x.items(), key=lambda x : x[1], reverse=True)
print(sorted_x) #[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]

三. 包含字典dict的列表list的排序方法与dict的排序类似,如下:

方法一:使用python模块:operator

import operator

x = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]

sorted_x = sorted(x, key=operator.itemgetter('name'))
print(sorted_x) #[{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}] sorted_x = sorted(x, key=operator.itemgetter('name'), reverse=True)
print(sorted_x) #[{'age': 39, 'name': 'Homer'}, {'age': 10, 'name': 'Bart'}]

方法二:使用lambda表达式

x = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]

sorted_x = sorted(x, key=lambda x : x['name'])
print(sorted_x) #[{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}] sorted_x = sorted(x, key=lambda x : x['name'], reverse=True)
print(sorted_x) #[{'age': 39, 'name': 'Homer'}, {'age': 10, 'name': 'Bart'}]

python中字典排序,列表中的字典排序的更多相关文章

  1. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  2. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  3. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  4. python中如何删除列表中的所有元素

    今天写代码的时候遇到一个小问题,Python中要删除列表中的所有元素.Python本身就提供了pop.remove.del这些删除的函数.我想着用循环实现,结果很麻烦.几番周折上了stackoverf ...

  5. 从下拉菜单拖拽一个元素 出来,插入到页面中的app 列表中

    1,实现功能:从下拉菜单拖拽一个元素 出来,插入到页面中的app 列表中 并实现app向后移动一个元素的位置: 2.实现思路: 01.遍历下拉菜单,添加拖拽方法,实现位置移动功能: 02.遍历app列 ...

  6. python 中的 字符串 列表 元祖 字典

    str 1 格式化输出 %法 第一种 %s+tuple %d+tuple name = input('请输入你的姓名:') age = input('请输入你的年龄:') hobby = input( ...

  7. Python基础5:列表 元祖 字典 集合

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

  8. Python基础5:列表 元祖 字典 集合 Json

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

  9. Python面试题 —— 计算列表中出现最多次的字符

    给你一个其中包含不同的英文字母和标点符号的文本,你要找到其中出现最多的字母,返回的字母必须是小写形式, 当检查最想要的字母时,不区分大小写,所以在你的搜索中 "A" == &quo ...

  10. Python学习笔记---切片 列表 元祖 字典 集合

    列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...

随机推荐

  1. Codeforces 914C Travelling Salesman and Special Numbers (数位DP)

    题意:题目中定义了一种运算,把数字x变成数字x的二进制位数.问小于n的恰好k次运算可以变成1的数的个数(题目中的n是二进制数,n最大到2^1000) 思路:容易发现,无论多么大的数,只要进行了一次运算 ...

  2. cd命令无效

    原因是没有切换盘符步骤一:C:\Documents and Settings\Administrator>d:步骤二:cd D:\Program Files\Python35-32\Script ...

  3. SQL 连贯操作 [1]

    一. 连贯入门 查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两位. 在 Home/controller/UserController.class.php 下插入 1.连贯操作入门 $us ...

  4. ROS Learning-031 (提高篇-009 A Mobile Base-07) 控制移动平台 --- (操作)人机交互

    ROS 提高篇 之 A Mobile Base-07 - 控制移动平台 - (操作)人机交互 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14 ...

  5. MarkdownPad 2 安装和破解

    MarkdownPad 2 安装和破解 下载:http://markdownpad.com/ 下载下面这个: 破解:http://w3cboy.com/post/2014/10/MarkdownPad ...

  6. [转载]HTTP的无状态是什么意思?

    文章地址:https://www.cnblogs.com/bellkosmos/p/5237146.html#commentform 作者:赛艇队长 引子: 最近在好好了解http,发现对介绍http ...

  7. Arduino Wire.h(IIC)库函数详解

    此库中包含 1 Wire.begin() 2 Wire.requestFrom() 3 Wire.beginTransmission() 4 Wire.endTransmission() 5 Wire ...

  8. 算法Sedgewick第四版-第1章基础-006一封装输出(文件)

    1. package algorithms.util; /*********************************************************************** ...

  9. SSH (Struts2+Spring3.0+Hibernate3)框架(二) 框架的配置

    一.准备工作: 1. JDK -> jdk1.6.0_17 安装(环境变量配置): JAVA_HOME = C:\ jdk1.6.0_17; PATH = %JAVA_HOME%\bin; %J ...

  10. 数据结构_Search

    问题描述 可怜的 Bibi 刚刚回到家,就发现自己的手机丢了,现在他决定回头去搜索自己的手机.现在我们假设 Bibi 的家位于一棵二叉树的根部.在 Bibi 的心中,每个节点都有一个权值 x,代表他心 ...