【发布时间】:2016-04-09 11:35:44
【问题描述】:
我如何将所有点 . 更改为下划线(在字典的键中),给定一个任意嵌套的字典?
我尝试的是编写两个循环,但是我将被限制为 2 级嵌套字典。
这...
{
"brown.muffins": 5,
"green.pear": 4,
"delicious.apples": {
"green.apples": 2
{
}
...应该变成:
{
"brown_muffins": 5,
"green_pear": 4,
"delicious_apples": {
"green_apples": 2
{
}
有没有优雅的方法?
【问题讨论】:
-
定义遍历字典键/值的方法,如果键有点,则替换,如果值是另一个字典,则输入递归(调用相同的方法,但现在使用这个字典)
-
你试过什么?不要用“有两个循环”来“任意嵌套”。
-
递归之美,宝贝
-
@PeterWood - 这是任何递归的可能性。如果结构嵌套不是很深,它可能会很好。
-
@PeterWood 堆栈溢出,宝贝:P
标签: python string dictionary recursion