Поиск элемента списка с условием

Brokmas

Новичок
Пользователь
Ноя 3, 2022
1
0
1
Привет! Подскажите новичку:

Есть словарь, состоящий из нескольких списков. Нужно вывести индекс элемента одного из списков с минимальным значением. При этом в другом списке значение элемента с таким же индексом не должно быть пустым.

Например, в словаре ниже нужно вывести индекс последнего элемента списка (6) (значение = 24)

Python:
visited = {
'point' : [3, 364, 24, 3, 65, 120, 24],
'direction' : [[], ['b', 'l'], [], [], ['r', 'b', 'l'], ['t', 'r', 'b', 'l'], ['l'], ],
}
,
 
Последнее редактирование:

Mikail_2006

Новичок
Пользователь
Сен 1, 2022
22
4
3
С первым примером работает, но код не идеальный(
Python:
visited = {
          'point' : [3, 364, 24, 3, 65, 120, 24],
          'direction' : [[], ['b', 'l'], [], [], ['r', 'b', 'l'], ['t', 'r', 'b', 'l'], ['l'], ],
          }

while True:
    minimum = min(visited['point'])
    ind_min = visited['point'].index(minimum)
    if visited['direction'][ind_min] != []:
        print(ind_min)
        break
    else:
        visited['point'][ind_min] = max(visited['point']) + 1
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 598
463
83
С первым примером работает, но код не идеальный(
Python:
visited = {
          'point' : [3, 364, 24, 3, 65, 120, 24],
          'direction' : [[], ['b', 'l'], [], [], ['r', 'b', 'l'], ['t', 'r', 'b', 'l'], ['l'], ],
          }

while True:
    minimum = min(visited['point'])
    ind_min = visited['point'].index(minimum)
    if visited['direction'][ind_min] != []:
        print(ind_min)
        break
    else:
        visited['point'][ind_min] = max(visited['point']) + 1
только print(visited['point'][ind_min])
 

Форум IT Специалистов