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中使用dom模块生成XML文件示例
Apr 05 Python
python动态加载包的方法小结
Apr 18 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 Python
django利用request id便于定位及给日志加上request_id
Aug 26 Python
在Python中append以及extend返回None的例子
Jul 20 Python
Python下opencv图像阈值处理的使用笔记
Aug 04 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
Oct 18 Python
Python 实现取多维数组第n维的前几位
Nov 26 Python
对Matlab中共轭、转置和共轭装置的区别说明
May 11 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
Nov 20 Python
浅谈Python中的正则表达式
Jun 28 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设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
一个简单的js动画效果代码
2010/07/20 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
TensorFlow神经网络优化策略学习
2018/03/09 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
怎样写好创业计划书的内容
2014/02/06 职场文书
银行求职信
2014/05/31 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书