Один лайнер для поиска минимального значения подмножества списка - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть метод extract_min, который принимает список индексов Q и d список значений.

Я хочу найти минимальное значение в d только для индексов в Q и вернуть индекс в Q, который имеет минимальное значение.

Следующий реализованный метод работает, но ему интересно, есть ли для него однострочная строка.

def extract_min (Q, d):
      R = list(map(lambda x: d[x], Q))
      i = R.index(min(R))
      return Q[i]

Например,

Q = [1, 2, 4]
d = [0, 8, 14, 5, 7]
extract_min(Q, d) = 4
...