0

我有这个类似 JSON 的大型数据馈送。我必须将许多嵌套值提取到另一个字典中(从那里它是结构化的,因此可以保存到数据库中......)。

有问题的嵌套数据示例:

... 
{'SomeKindOfKey': [{ 'key1': value1,
                     'key2': value2,
                     'target_key': target_value,
                     'key4': value,
                     'key5': value5,
                     'key6': value6}]
...

通常,当我需要访问同一嵌套级别内的更多键时,我会这样做:

#  lower_dict           -> dict from lower level of nesting
#  collecting_dict      -> here I collect useful data

for nested_dict in lower_dict['SomeKindOfKey']:   
    collecting_dict = {
        "my-key1-in-db": nested_dict['key1'],
        "my-target-key-in-db": nested_dict['target_key'],
        ...}

但是,想象一下我只需要从某个嵌套级别中提取一个值。在这种情况下,for-loop 的整个缩进对我来说感觉有点矫枉过正。毕竟,我的代码已经开始超级缩进/嵌套(目前类似于 4-5 级缩进)。

是否有任何简短、优雅的单行或练习可以满足我的目的?我不想写意大利面条代码。

我可以用这种方式想到一些离散的东西:

collecting_dict = {
    "my-target-key-in-db": nested_dict['target_key'] for nested_dict in lower_dict['SomeKindOfKey'],
    ...}
4

0 回答 0