我有一个字典数据样本。

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格式化字典键属性的递归调用相关推荐

  1. mysql修改主键属性_mysql如何改变主键属性

    mysql改变主键属性的方法:1.使用关键字modify,代码为[alter table tbl_name modify.....]:2.使用关键字change,代码为[alter table tbl ...

  2. python字典改键_python 字典修改键(key)的几种方法

    python 字典修改键(key)的几种方法 python中获取字典的key列表和value列表 # -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, ' ...

  3. python 列表嵌套字典 添加修改删除_【Python】列表嵌套字典修改字典里面的一个值却把全部的值都修改了。...

    具体问题就是:当我往空列表里面添加字典,需要修改其中的一个键的值的时候,出现把其他同类的值也修改了. 下面就是出现问题的代码: aliens = [] new_alien = {"color ...

  4. python字典修改键所对应值_详解如何修改python中字典的键和值

    我们知道python中字典是无序的,它们都是通过hash去对应的.一般的如果我们需要修改字典的值,只需要直接覆盖即可,而修改字典的键,则需要使用字典自带的pop函数,示例如下: t = {} t['a ...

  5. python 列表嵌套字典 添加修改删除_python3--字典,字典的嵌套,概念:分别赋值

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...

  6. python 字典修改键(key)的方法

    注意:python中字典的键是不能直接修改,因为键是hash. 间接修改键的key值方法 第一种(推荐): dict={'a':1, 'b':2}dict["c"] = dict. ...

  7. python 列表嵌套字典 添加修改删除_python 列表、字典、元组等增删改查

    1. 元组 a. 定义和下标访问 元组的格式: (值,....) 如 s = (1,2,3) 元组的类型: tuple 元组的下标使用同字符串 注意:如果元组中只有一个元素,那么在定义时,需要加一个逗 ...

  8. Python开发基础总结之函数+闭包+字典+列表

    一.函数的使用: 1.函数的作用域:函数中定义一个变量,如果和全局变量重名,则全局变量名称就会被覆盖,也就是,这里对这个变量的更改,不会更改全局变量.但是,如果直接使用的话,是会使用全局变量的.同时, ...

  9. Python接口自动化响应结果json格式化输出+断言响应结果中指定的属性值+其他

    一.Python字典 二.Python元组 三.接口响应值转为字典格式 四.接口响应值以json格式输出并添加到allure报告中 五.断言响应结果中指定的属性值 六.TypeError: strin ...

  10. [Python基础]列表、元祖和字典

    本文参考链接和大神作者不详,知道的可留言链接.之前在网上下到的笔记,整理的很详细,本文有个人轻微修改(本人实践于Python3.x). 2.x和3.x的print使用方式不一样,这里不做太多针对版本的 ...

最新文章

  1. iOS开发几年了,你清楚OC中的这些东西么!!!?
  2. 卷积神经网络的体系结构
  3. STM32中stm32f0xx_flash.icf文件的作用详解!
  4. unity game和scene效果不一样_都说水泥漆和乳胶漆只是叫法不一样,对房子装修效果一样,事实呢...
  5. 中国第二代身份证验证js代码
  6. 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
  7. wordList01
  8. x210-II WinCE启动10s,还可继续优化
  9. Linux中文件查找技术大全
  10. RNA在相分离中的作用RNA buffers the phase separation behavior of prion-like RNA- binding proteins
  11. matlab gmm,GMM聚类及Matlab代码实现
  12. 计算机专业术语enabled,电脑上的BIOS设置Disabled和Enabled是什么意思?选哪个?
  13. Hadoop-Spark企业应用实战
  14. android实现矩形,android圆角矩形的实现
  15. 2个月,3000节音频,利润30万+这就是赚钱的秘密
  16. 自动批量配音软件V2.6 附参数和使用教程
  17. 中国智能手机市场大幅衰退,仅华为vivo取得增长
  18. hypermesh闪退启动解决(最全!!!)
  19. 管壳式程序c语言,换热器模型原程序(C语言).doc
  20. 自定义launcher预置widget无法跳入app,显示无法添加微件问题

热门文章

  1. SINet: 使用空间压缩模块和信息遮挡编码器的极轻量人像分割模型
  2. ICCV 2021|“白嫖”性能的MixMo,一种新的数据增强or模型融合方法
  3. catkin_make和cmake
  4. 数据结构-查找-折半查找-二叉排序树查找
  5. 软件工程(2018)第三次个人作业
  6. Windows 10 优化
  7. 『摄影欣赏』好萌了!12幅可爱的婴儿照片【组图】
  8. Asp.Net如何实现发送邮件 -详解
  9. flex知識:container of spark
  10. 第四十讲 ASP.NET消息处理(一)