Как значения 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]