如何convert/update defaultdict中的key-values信息?

How to convert/update the key-values information in defaultdict?

如何转换以下内容defaultdict()

defaultdict(<class 'dict'>, {
  'key1_A': {
    'id': 'key1',
    'length': '663', 
    'type': 'A'},
  'key1_B': {
    'id': 'key1',
    'length': '389',
    'type': 'B'},
  'key2_A': {
    'id': 'key2',
    'length': '865',
    'type': 'A'},
  'key2_B': {
    'id': 'key2',
    'length': '553',
    'type': 'B' ........}})

谢谢,

我认为这符合您的要求:

from collections import defaultdict
import pprint

d = {
    'key1_A': {
        'id': 'key1',
        'length': '663', 
        'type': 'A',
    },
    'key1_B': {
        'id': 'key1',
        'length': '389',
        'type': 'B',
    },
    'key2_A': {
        'id': 'key2',
        'length': '865',
        'type': 'A',
    },
    'key2_B': {
        'id': 'key2',
        'length': '553',
        'type': 'B',
    },
}

transformed = defaultdict(dict)
for v in d.values():
    transformed[v["id"]]["length_{}".format(v["type"])] = v["length"]

pprint.pprint(transformed)

# Output:
# defaultdict(<class 'dict'>,
#             {'key1': {'length_A': '663', 'length_B': '389'},
#              'key2': {'length_A': '865', 'length_B': '553'}})