我有这个类似 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'],
...}