Невозможно получить доступ к членам словаря, используя имя атрибута в качестве ключа.Python

Программы на Python
Ответить
Anonymous
 Невозможно получить доступ к членам словаря, используя имя атрибута в качестве ключа.

Сообщение Anonymous »

У меня был список координат x(xlist) и еще один список координат y(ylist). Я застегнул их вместе. Затем у меня был атрибут (точнее, имена) (cocoBind) для каждой из этих координат. Я заархивировал cocoBind, а также xlist и ylist как:

cocoDict = dict(zip(cocoBind,zip(xlist,ylist)))


чтобы создать словарь. Вот как печатает print(cocoDict):

{: (252, 126), : (248, 179),

: (215, 175), : (199, 220),

: (282, 171), : (322, 224),

: (282, 273), : (222, 314),

: (275, 367), : (257, 310),

: (282, 363), : (243, 114),

: (262, 114), : (231, 122),

: (275, 122)}


Мне нужно вычислить расстояние между любыми двумя из этих координат. У меня есть для этого функция. Никаких проблем с этим. Но мне нужно получить доступ к этим координатам, используя их имена (например, Distance(cocoDict.Nose, cocoDict.Neck)). Хотя этот синтаксис недействителен.

Какие изменения мне следует внести в команду, чтобы получить координаты по их имени. (P.S: я тоже пробовал с кортежами, но не получилось)
Класс CocoPart определяется как:

class CocoPart(Enum):
Nose = 0
Neck = 1
RShoulder = 2
RElbow = 3
RWrist = 4
LShoulder = 5
LElbow = 6
LWrist = 7
RHip = 8
RKnee = 9
RAnkle = 10
LHip = 11
LKnee = 12
LAnkle = 13
REye = 14
LEye = 15
REar = 16
LEar = 17
Background = 18


а cocoBind напечатан ниже:

[, , , , , , , , , , , , , , ]


Xlist, ylist и cocoBind были назначены следующим образом:

#for loop
xlist.append(center[0])
ylist.append(center[1])
cocoBind.append(CocoPart(i))


Подробнее здесь: https://stackoverflow.com/questions/564 ... ributes-as
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»