python字典修改属性_Python2.7格式化字典键属性的递归调用
我有一个字典数据样本。
obj = {
"company-name":"Name Test",
"contact-name":"Test contact",
"contact-phone":"1234567890",
"contact-email":"test@example.com",
"contact-notes":"Test Notes",
"company-clients": {
"client-name": "Test Client",
"client-address": "Test Client address",
"client-occupation": {
"occupation-title": "Test occupation title",
"occupation-salary": 600000
}
}
}
现在我需要它用
-
换成
_
相反的。这是理想的输出:
{
"company_name":"Name Test",
"contact_name":"Test contact",
"contact_phone":"1234567890",
"contact_email":"test@example.com",
"contact_notes":"Test Notes",
"company_clients": {
"client_name": "Test Client",
"client_address": "Test Client address",
"client_occupation": {
"occupation_title": "Test occupation title",
"occupation_salary": 600000
}
}
}
到目前为止,我一直在尝试:
def recursive_formatting(key, value):
if not isinstance(value, dict):
return key.replace('-', '_'), value
else:
for k, v in value.items():
_k, _v = recursive_formatting(k, v)
return _k, _v
用法
data = {}
for key, value in obj.items():
k, v = recursive_formatting(key, value)
data[k] = v
print data
但代码不会只在对象属性的根级别进行嵌套格式化/更改。
这就是我得到的:
{
"company_name":"Name Test",
"contact_name":"Test contact",
"contact_phone":"1234567890",
"contact_email":"test@example.com",
"contact_notes":"Test Notes"
}
python字典修改属性_Python2.7格式化字典键属性的递归调用相关推荐
- mysql修改主键属性_mysql如何改变主键属性
mysql改变主键属性的方法:1.使用关键字modify,代码为[alter table tbl_name modify.....]:2.使用关键字change,代码为[alter table tbl ...
- python字典改键_python 字典修改键(key)的几种方法
python 字典修改键(key)的几种方法 python中获取字典的key列表和value列表 # -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, ' ...
- python 列表嵌套字典 添加修改删除_【Python】列表嵌套字典修改字典里面的一个值却把全部的值都修改了。...
具体问题就是:当我往空列表里面添加字典,需要修改其中的一个键的值的时候,出现把其他同类的值也修改了. 下面就是出现问题的代码: aliens = [] new_alien = {"color ...
- python字典修改键所对应值_详解如何修改python中字典的键和值
我们知道python中字典是无序的,它们都是通过hash去对应的.一般的如果我们需要修改字典的值,只需要直接覆盖即可,而修改字典的键,则需要使用字典自带的pop函数,示例如下: t = {} t['a ...
- python 列表嵌套字典 添加修改删除_python3--字典,字典的嵌套,概念:分别赋值
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...
- python 字典修改键(key)的方法
注意:python中字典的键是不能直接修改,因为键是hash. 间接修改键的key值方法 第一种(推荐): dict={'a':1, 'b':2}dict["c"] = dict. ...
- python 列表嵌套字典 添加修改删除_python 列表、字典、元组等增删改查
1. 元组 a. 定义和下标访问 元组的格式: (值,....) 如 s = (1,2,3) 元组的类型: tuple 元组的下标使用同字符串 注意:如果元组中只有一个元素,那么在定义时,需要加一个逗 ...
- Python开发基础总结之函数+闭包+字典+列表
一.函数的使用: 1.函数的作用域:函数中定义一个变量,如果和全局变量重名,则全局变量名称就会被覆盖,也就是,这里对这个变量的更改,不会更改全局变量.但是,如果直接使用的话,是会使用全局变量的.同时, ...
- Python接口自动化响应结果json格式化输出+断言响应结果中指定的属性值+其他
一.Python字典 二.Python元组 三.接口响应值转为字典格式 四.接口响应值以json格式输出并添加到allure报告中 五.断言响应结果中指定的属性值 六.TypeError: strin ...
- [Python基础]列表、元祖和字典
本文参考链接和大神作者不详,知道的可留言链接.之前在网上下到的笔记,整理的很详细,本文有个人轻微修改(本人实践于Python3.x). 2.x和3.x的print使用方式不一样,这里不做太多针对版本的 ...
最新文章
- iOS开发几年了,你清楚OC中的这些东西么!!!?
- 卷积神经网络的体系结构
- STM32中stm32f0xx_flash.icf文件的作用详解!
- unity game和scene效果不一样_都说水泥漆和乳胶漆只是叫法不一样,对房子装修效果一样,事实呢...
- 中国第二代身份证验证js代码
- 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
- wordList01
- x210-II WinCE启动10s,还可继续优化
- Linux中文件查找技术大全
- RNA在相分离中的作用RNA buffers the phase separation behavior of prion-like RNA- binding proteins
- matlab gmm,GMM聚类及Matlab代码实现
- 计算机专业术语enabled,电脑上的BIOS设置Disabled和Enabled是什么意思?选哪个?
- Hadoop-Spark企业应用实战
- android实现矩形,android圆角矩形的实现
- 2个月,3000节音频,利润30万+这就是赚钱的秘密
- 自动批量配音软件V2.6 附参数和使用教程
- 中国智能手机市场大幅衰退,仅华为vivo取得增长
- hypermesh闪退启动解决(最全!!!)
- 管壳式程序c语言,换热器模型原程序(C语言).doc
- 自定义launcher预置widget无法跳入app,显示无法添加微件问题