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常见数据结构详解
Jul 24 Python
python批量生成本地ip地址的方法
Mar 23 Python
详解Python3.1版本带来的核心变化
Apr 07 Python
Python中特殊函数集锦
Jul 27 Python
bpython 功能强大的Python shell
Feb 16 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
Python3中详解fabfile的编写
Jun 24 Python
一百多行python代码实现抢票助手
Sep 25 Python
Python3 实现串口两进程同时读写
Jun 12 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
python 检测图片是否有马赛克
Dec 01 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
php继承的一个应用
2011/09/06 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
JS二分查找算法详解
2017/11/01 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
PyQt实现界面翻转切换效果
2018/04/20 Python
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
Python:slice与indices的用法
2019/11/25 Python
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
员工合理化建议书
2014/05/19 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
先进典型事迹材料
2014/12/29 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
react如何快速设置文件路径别名
2021/04/28 Javascript
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技