Python实现列表转换成字典数据结构的方法


Posted in Python onMarch 11, 2016

本文实例讲述了Python实现列表转换成字典数据结构的方法。分享给大家供大家参考,具体如下:

'''
[
  {'symbol': 101, 'sort': 1, 'name': 'aaaa'},
  {'symbol': 102, 'sort': 2, 'name': 'bbbb'},
  {'symbol': 103, 'sort': 3, 'name': 'cccc'},
  {'symbol': 104, 'sort': 4, 'name': 'dddd'},
  {'symbol': 105, 'sort': 5, 'name': 'eeee'},
  {'symbol': 106, 'sort': 6, 'name': 'ffff'},
  {'symbol': 107, 'sort': 7, 'name': 'gggg'},
  {'symbol': 108, 'sort': 8, 'name': 'hhhh'},
  {'symbol': 109, 'sort': 9, 'name': 'iiii'}
]
转换成如下的结构,便于通过ID获取记录值
{
  101: {'sort': 1, 'symbol': 101, 'name': 'aaaa'},
  102: {'sort': 2, 'symbol': 102, 'name': 'bbbb'},
  103: {'sort': 3, 'symbol': 103, 'name': 'cccc'},
  104: {'sort': 4, 'symbol': 104, 'name': 'dddd'},
  105: {'sort': 5, 'symbol': 105, 'name': 'eeee'},
  106: {'sort': 6, 'symbol': 106, 'name': 'ffff'},
  107: {'sort': 7, 'symbol': 107, 'name': 'gggg'},
  108: {'sort': 8, 'symbol': 108, 'name': 'hhhh'},
  109: {'sort': 9, 'symbol': 109, 'name': 'iiii'}
}
'''
students = [
    {'symbol': 101, 'sort': 1, 'name': 'aaaa'},
    {'symbol': 102, 'sort': 2, 'name': 'bbbb'},
    {'symbol': 103, 'sort': 3, 'name': 'cccc'},
    {'symbol': 104, 'sort': 4, 'name': 'dddd'},
    {'symbol': 105, 'sort': 5, 'name': 'eeee'},
    {'symbol': 106, 'sort': 6, 'name': 'ffff'},
    {'symbol': 107, 'sort': 7, 'name': 'gggg'},
    {'symbol': 108, 'sort': 8, 'name': 'hhhh'},
    {'symbol': 109, 'sort': 9, 'name': 'iiii'}
  ]
symbol_list = map(lambda x: (x.get('symbol'), x), students)
print symbol_list
print '-----------------------------------------'
print dict(symbol_list)
#value_list = map(lambda x: x, students)
#
##print dict(zip(symbol_list, value_list))
#
#
#student = {
#    101: {'symbol': 101, 'sort': 1, 'name': 'aaaa'}
#    }
#
#student = [
#    {101: {'symbol': 101, 'sort': 1, 'name': 'aaaa'}}
#    ]
#

排序用法:

students = [
      {'name':'zhangsan', 'price':20.01, 'date':'2015-01-09T01:00:00Z'},
      {'name':'lisi', 'price':10.01, 'date':'2013-01-09T01:00:00Z'},
      {'name':'wangwu', 'price':0.01, 'date':'2012-01-09T01:00:00Z'}
] 
print sorted(students, key=lambda s:s["name"])
print sorted(students, key=lambda s:s["price"], reverse=True)
print sorted(students, key=lambda s:s["date"], reverse=True)
aa = sorted(students, key=lambda s:s["price"], reverse=True)
sorted(aa, key=lambda s:s["date"], reverse=True)
symbol_arr = [<Symbol: Symbol object>, <Symbol: Symbol object>, <Symbol: Symbol object>] 
sorted(symbol_arr, key=lambda s:s.amount, reverse=True)

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python解析xml模块封装代码
Feb 07 Python
详谈python中冒号与逗号的区别
Apr 18 Python
Python绘制KS曲线的实现方法
Aug 13 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
对Python中画图时候的线类型详解
Jul 07 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
django xadmin中form_layout添加字段显示方式
Mar 30 Python
Selenium python时间控件输入问题解决方案
Jul 22 Python
详解pandas赋值失败问题解决
Nov 29 Python
python中实现词云图的示例
Dec 19 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 Python
python中enumerate函数遍历元素用法分析
Mar 11 #Python
python实现class对象转换成json/字典的方法
Mar 11 #Python
Windows下Python的Django框架环境部署及应用编写入门
Mar 10 #Python
深入学习python的yield和generator
Mar 10 #Python
Python中random模块生成随机数详解
Mar 10 #Python
python生成器表达式和列表解析
Mar 10 #Python
python迭代器与生成器详解
Mar 10 #Python
You might like
PHP个人网站架设连环讲(三)
2006/10/09 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
也说JavaScript中String类的replace函数
2011/09/22 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
javascript内存分配原理实例分析
2017/04/10 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
Python通过future处理并发问题
2017/10/17 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
利用python求积分的实例
2019/07/03 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
中间件分为哪几类
2016/09/18 面试题
火山动力Java笔试题
2014/06/26 面试题
物业管理毕业生的自我评价
2014/02/17 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
副处级干部考察材料
2014/05/17 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
2016寒假假期总结
2015/10/10 职场文书
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android