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

yipeiwu_com6年前Python基础

本文实例讲述了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 pymongo模块常用操作分析

Python pymongo模块常用操作分析

本文实例讲述了Python pymongo模块常用操作。分享给大家供大家参考,具体如下: 环境:pymongo3.0.3,python3 以下是我整理的一些关于pymongo的操作,网上...

python实现合并两个数组的方法

本文实例讲述了python实现合并两个数组的方法。分享给大家供大家参考。具体如下: python合并两个数组,将两个数组连接成一个数组,例如,数组 a=[1,2,3] ,数组 b=[4,...

Python+OpenCV目标跟踪实现基本的运动检测

Python+OpenCV目标跟踪实现基本的运动检测

目标跟踪是对摄像头视频中的移动目标进行定位的过程,有着非常广泛的应用。实时目标跟踪是许多计算机视觉应用的重要任务,如监控、基于感知的用户界面、增强现实、基于对象的视频压缩以及辅助驾驶等。...

python实现井字棋游戏

本文实例介绍了python实现井字棋游戏的方法,分享给大家,具体内容如下 windows7下python3.4.0编译运行通过。由于采用了cmd调用,所以与Linux不兼容,无法在Lin...

使用k8s部署Django项目的方法步骤

接触了一下docker和k8s,感觉是非常不错的东西。能够方便的部署线上环境,而且还能够更好的利用机器的资源,感觉是以后的大趋势。最近刚好有一个基于django的项目,所以就把这个项目打...