Как значения x1,y1 сравнить с последующими значениями от datax1,datay1 до datax3,datay3 в словаре?

Есть словарь:

{n1:[x1,y1], name1:[datax1,datay1,datalac1], name2:[datax2,datay2,datalac2], name3:[datax3,datay3,datalac3]}

Как в Python значения x1,y1 сравнить с последующими значениями от datax1,datay1 до datax3,datay3 в словаре? если значения равны, то вывести построчно имя и координаты, например,datay3.


Ответы (1 шт):

Автор решения: Oopss
datax1 = 1
datax2 = 2
datax3 = 3
datay1 = 1
datay2 = 3
datay3 = 4
datalac1 = 1
datalac2 = 1
datalac3 = 1
x1 = 3
y1 = 4

k = {'n1': [x1, y1], 'name1': [datax1, datay1, datalac1], 'name2': [datax2, datay2, datalac2],
     'name3': [datax3, datay3, datalac3]}

for i, j in k.items():
    if i != 'n1':
        if k['n1'][0] == k[i][0] and k['n1'][1] == k[i][1]:
            print(i,k[i])

   name3 [3, 4, 1]

Словарь имеет ключ и значение, например элемент словаря 'name3':[3, 4, 1] имеет ключ 'name3', значение у него [3, 4, 1], кроме этого [3, 4, 1] это список, элементы списка имеют индексы: значение "3" имеет индекс "0", значение "4" имеет индекс "1", значение "1" имеет индекс "2".
Значит k[i][1], это элемент словаря k с ключем "i" и вторым элементом списка [3, 4, 1]

→ Ссылка