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中除法使用的注意事项
Aug 21 Python
Python中使用partial改变方法默认参数实例
Apr 28 Python
python实现一次创建多级目录的方法
May 15 Python
python flask实现分页的示例代码
Aug 02 Python
在Python文件中指定Python解释器的方法
Feb 18 Python
python过滤中英文标点符号的实例代码
Jul 15 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
pytorch 实现打印模型的参数值
Dec 30 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
Nov 26 Python
Python selenium的这三种等待方式一定要会!
Jun 10 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 Python
virtualenv隔离Python环境的问题解析
Jun 21 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在网页中动态生成PDF文件详细教程
2014/07/05 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
vue写h5页面的方法总结
2019/02/12 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python生成验证码实例
2014/08/21 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
python操作ie登陆土豆网的方法
2015/05/09 Python
Django中对数据查询结果进行排序的方法
2015/07/17 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
Django自带的用户验证系统实现
2020/12/18 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
教学大赛获奖感言
2014/01/15 职场文书
大型车展策划方案
2014/02/01 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
生日祝酒词大全
2015/08/10 职场文书
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
使用python创建股票的时间序列可视化分析
2022/03/03 Python