Синтаксис для изменения ключей в словаре для понимания - PullRequest
0 голосов
/ 24 января 2020

Я сталкиваюсь с трудностями при попытке создать модифицированный ключ при манипулировании dictionary. Здесь ключ необходимо изменить с исходного ключа dict на 'x' плюс ключ dict. Как это можно сделать? Моя попытка показана:

inventory = {k:updateMap(m,
                         {'partNumber': m['part'], 
                          'partName': m['desc'],
                          'bbox': {
                            'xmin' : bboxes[k].x,
                            'xmax' : bboxes[k].x + bboxes[k].w,
                            'ymin' : bboxes[k].y,
                            'ymax' : bboxes[k].y + bboxes[k].h
                          }
                          }) for k,m in 
                                ['x%d' %k1,m1 
                                 for k1,m1 in inventoryRaw.items()]}

Вот синтаксическая ошибка Unresolved reference m1:

enter image description here

Каким должно быть вложенное понимание модифицирована

1 Ответ

0 голосов
/ 24 января 2020

Проблема здесь в том, что кортеж должен быть четко прописан:

for k,m in [('x%s'%k1,m1) 

Это работает:

inventory = {'x%s'%k:updateMap(m,
                     {'partNumber': m['part'], 
                      'partName': m['desc'],
                     'objectClass': 'part',
                      'bbox': {
                        'xmin' : bboxes[k].x,
                        'xmax' : bboxes[k].x + bboxes[k].w,
                        'ymin' : bboxes[k].y,
                        'ymax' : bboxes[k].y + bboxes[k].h
                      }
                      }) for k,m in [('x%s'%k1,m1) 
                          for k1,m1 in 
                                inventoryRaw.items()]}
...