在Python字典中将值从一个键移动到另一个键

5

我有以下字典(Geojson):

'properties': {
            'fill': '#ffffff', 'fill-opacity': 1, 'stroke': '#ffffff',
'stroke-opacity': 1, 'stroke-width': 1.5, 'title': '0.00 m',
'time': '2000-01-31'
    }

如何通过将某些值移动到属性内的新键中,使其变为以下方式,这是最简单的方法。

'properties': {
        'style': {
            'fill': '#ffffff', 'fill-opacity': 1, 'stroke': '#ffffff',
'stroke-opacity': 1, 'stroke-width': 1.5, 'title': '0.00 m'
        },
        'time': '2000-01-31'
    }
}

任何反馈都将有所帮助。 谢谢。


1
似乎 properties 是关键。请明确一下。 - Vicrobot
2个回答

3
你可以弹出time并建立一个新的字典,如下所示:
properties = {
            'fill': '#ffffff', 'fill-opacity': 1, 'stroke': '#ffffff',
'stroke-opacity': 1, 'stroke-width': 1.5, 'title': '0.00 m',
'time': '2000-01-31'
    }

time = properties.pop('time')
new_properties = {'style': properties, 'time':time}

print(new_properties)
# {'style': {'fill': '#ffffff', 'fill-opacity': 1, 'stroke': '#ffffff', 
#            'stroke-opacity': 1, 'stroke-width': 1.5, 'title': '0.00 m'},
#   'time': '2000-01-31'}

很好很简单! - Zeeshan Adil
不过这并不是以原始数据开始的,也没有产生OP所要求的结果。除此之外,这很棒! - CryptoFool
@Steve,我不确定你的意思,请澄清一下?OP提供的数据显然是较大字典的一部分,在孤立状态下并不是有效的Python代码。OP的目标是转换此处给出的字典,这正是我在此处转换的字典。 - Thierry Lathuille
@VPfB 没错,只要这段代码被包含在一个函数中(希望是这样),并且该函数不涉及时间模块,那么一切都会很好。 - Thierry Lathuille

0
假设原始数据是在字典中(如果它有一个键和一个值,必须如此),并且所需的结果也是如此:
from pprint import pprint

start = {
    'properties': {
            'fill': '#ffffff', 'fill-opacity': 1, 'stroke': '#ffffff',
'stroke-opacity': 1, 'stroke-width': 1.5, 'title': '0.00 m',
'time': '2000-01-31'
    }
}

result = {
    'properties': {
        'style': start['properties'],
        'time': start['properties'].pop('time')
    },
}

pprint(result)

结果:

{'properties': {'style': {'fill': '#ffffff',
                          'fill-opacity': 1,
                          'stroke': '#ffffff',
                          'stroke-opacity': 1,
                          'stroke-width': 1.5,
                          'title': '0.00 m'},
                'time': '2000-01-31'}}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接