将[{},{}]转为dict

经常遇到一种需求,需要把从数据库取出的数据,转为dict对象([{}, {},...]-->dict)。

rs = [{"user_id":111, "name":"abc"}, {"user_id":123, "name":"edf"}]
print dict(map(lambda r:[r["user_id"], r], rs))
>>{111: {‘user_id‘: 111, ‘name‘: ‘abc‘}, 123: {‘user_id‘: 123, ‘name‘: ‘edf‘}}

上面看起来比较啰嗦,换一种写法

print dict([r["user_id"], r] for r in rs)

更简洁的写法

{r[‘user_id‘] : r for r in rs}
时间: 2024-11-05 16:11:39

将[{},{}]转为dict的相关文章

Python零基础入门(11)-------dict 字典表

dict 字典表属于映射的数据类型 特性:通过键(key),而不是通过下标访问数据 包含任意对象的无序集合 可变长度,可任意嵌套 属于"可变映射" 分类 对象引用表(Hash Table) 声明:   d = { } 是一个空的字典表.字典表是一个 {key: value} 的形式.key 只能是不可变的元素(可变类型List就不可以). 从下面图片你也可以看出 dict 字典表 是一个无序的集合.是通过内部Hash算法排序的 key 只能是不可变类型的数据.可变类型就会抛出错误信息

format函数报错:ValueError: dictionary update sequence element #0 has length 1; 2 is required,str转dict

一个字典通过format()函数转换后就会由dict变为str, 例如: a = "156464654654" b = "652683126541" c = "{'username':'%s','password':'%s','Submit': 'dre'}"%(a,b) # c = eval("{'username':'%s','password':'%s','Submit': 'dre'}"%(a,b)) print(ty

Python处理json和dict

json与dict的区别 Python 的dict是一种数据结构,json 是一种数据传输格式.json 就是一个根据某种约定格式编写的纯字符串,不具备任何数据结构的特征.而 python 的dict的字符串表现形式的规则看上去和 json 类似,但是dict本身是一个完整的数据结构,实现了一切自身该有的算法. Python的dict的key可以是任意可hash对象,json只能是字符串.形式上有些相像,但json是纯文本的,无法直接操作. json的格式要求必须且只能使用双引号作为key或者值

python:DataFrame转dict字典

背景:将商品id以及商品类别作为字典的键值映射,生成字典,原为DataFrame # 创建一个DataFrame # 列值类型均为int型 import pandas as pd item = pd.DataFrame({'item_id': [100120, 10024504, 1055460], 'item_category': [87974, 975646, 87974]}, index=[0, 1, 2]) item # 将item_id,item_category两列数值转为dict字

python+requests实现接口测试 - get与post请求使用

简介:Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求.Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner.更重要的一点是它支持 Python3 哦! 一.安装 使pip安装: pip install requests 安装完后,运行一个简单的例子查看是否安装成功: impo

python杂记

1. ord 将char转换为ascii码 print ord('a')97 2. zip >>> x = [ord('a'), ord('b')]>>> y = ['a', 'b', 'c'] >>> xy = zip(x,y)>>> print xy[(97, 'a'), (98, 'b')] >>> z = zip(*xy)>>> print z[(97, 98), ('a', 'b')] 3

Redis数据类型之Set

      前言:set类似于数学上面的集合概念,包含的元素无序,不能重复,能进行交.并.差操作. 一.内部原理              set数据结构,也是随着元素数目的多少而变化.当set中添加的元素都是整数且元素数据较少时,set使用intset为底层的数据结构,否则,set使用dict作为底层的数据结构.    intset是什么?              从字面意思可以看出是由整数组成的集合.是一个整数组成的有序集合,便于进行二分查找,快速判断一个元素是否属于这个集合.内存分配上也

学习python的第一个小目标:通过requests+xlrd实现简单接口测试,将测试用例维护在表格中,与脚本分开。

小白的学习方式:通过确定一个小目标来想办法实现它,再通过笔记来加深印象. 面对标题中的小目标我陷入了思考....嗯,首先实现利用xlrd库来取出想要的用例 首先用表格准备好用例,如图下: 先试下取number为1的一行用例试试: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 import xlrd 4 5 xlsurl = r"D:\RequestAPI.xlsx" # 表格文件路径 6 rqapi = xlrd.open_wo

[Django rest-framework] 1-Serialization

个人粗浅的理解,欢迎批评指正 什么是序列化? 后端任务无非对数据库的增查删改,操作数据库无非操作字段,序列化可以让我们轻松的对数据库增(serializer.create)改(serilaizer.update)的同时不用担心提交的key/value是否合法(serializer.is_valid),并轻松的将dict 格式转为更通用的json格式(JSONRenderer) 什么是反序列化? 将json转为(JSONParser().parse(stream))可序列化的dict(serial