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中AND、OR的一个使用小技巧
Feb 18 Python
python实现下载指定网址所有图片的方法
Aug 08 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
完美解决python中ndarray 默认用科学计数法显示的问题
Jul 14 Python
python opencv人脸检测提取及保存方法
Aug 03 Python
python-opencv颜色提取分割方法
Dec 08 Python
python如何从文件读取数据及解析
Sep 19 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
tensorflow安装成功import tensorflow 出现问题
Apr 16 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
Python3爬虫mitmproxy的安装步骤
Jul 29 Python
Django项目创建及管理实现流程详解
Oct 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禁止页面缓存的代码
2011/10/23 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
Python中获取网页状态码的两个方法
2014/11/03 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
不管你的Python报什么错,用这个模块就能正常运行
2018/09/14 Python
Django如何自定义分页
2018/09/25 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
基于Python实现粒子滤波效果
2020/12/01 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
什么是事务?事务有哪些性质?
2012/03/11 面试题
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
学校就业推荐信范文
2014/05/19 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
赔偿协议书
2015/01/27 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
php解析非标准json、非规范json的方式实例
2022/05/10 PHP