Есть два словаря: MinIndex
и TrainIndex
. У них одинаковые ключи, но разное количество элементов в ключах:
MinIndex = {'ВСТАВИТЬ': [[0, 4]],
'ЗАКРЫТЬ': [[3, 8]],
'УДАЛИТЬ': [[0, 6]]}
TrainIndex = {'ВСТАВИТЬ': [0, 1, 2],
'ЗАКРЫТЬ': [3, 4, 5],
'УДАЛИТЬ': [6, 7, 8]}
Задача - пройтись по каждому элементу в MinIndex
, найти этот элемент в TrainIndex
и взять из последнего ключ, к которому принадлежит найденный элемент.
Мой вариант выглядит следующим образом (к сожалению, работает неверно):
for class_name2 in MinIndex:
for index in MinIndex[class_name2]:
Word = 1
for i in index:
for class_name_train in TrainIndex:
ElemNumb = 0
for lists2 in TrainIndex[class_name_train]:
if i == TrainIndex[class_name_train][ElemNumb]:
Rec = class_name_train
ElemNumb += 1
print('Тестовому слову', Word, 'из класса', class_name2,'соответствует слово', Rec, '(по индексу', i, ')')
Word += 1
Out[1]:
Тестовому слову 1 из класса ВСТАВИТЬ соответствует слово ВСТАВИТЬ (по индексу 0 )
Тестовому слову 2 из класса ВСТАВИТЬ соответствует слово ВСТАВИТЬ (по индексу 4 )
Тестовому слову 1 из класса ЗАКРЫТЬ соответствует слово ЗАКРЫТЬ (по индексу 3 )
Тестовому слову 2 из класса ЗАКРЫТЬ соответствует слово ЗАКРЫТЬ (по индексу 8 )
Тестовому слову 1 из класса УДАЛИТЬ соответствует слово ВСТАВИТЬ (по индексу 0 )
Тестовому слову 2 из класса УДАЛИТЬ соответствует слово УДАЛИТЬ (по индексу 6 )
Желаемый вывод выглядит следующим образом:
Тестовому слову 1 из класса ВСТАВИТЬ соответствует слово ВСТАВИТЬ (по индексу 0)
Тестовому слову 2 из класса ВСТАВИТЬ соответствует слово **ЗАКРЫТЬ** (по индексу 4)
Тестовому слову 1 из класса ЗАКРЫТЬ соответствует слово ЗАКРЫТЬ (по индексу 3)
Тестовому слову 2 из класса ЗАКРЫТЬ соответствует слово **УДАЛИТЬ** (по индексу 8)
Тестовому слову 1 из класса УДАЛИТЬ соответствует слово ВСТАВИТЬ (по индексу 0)
Тестовому слову 2 из класса УДАЛИТЬ соответствует слово УДАЛИТЬ (по индексу 6)
Свежие комментарии