Скажем, у вас есть список, такой как:
a = [9,8,7]
Следующие два метода являются довольно компактными способами получить кортеж с минимальным элементом и его индексом. Обе обрабатываются схожими . Мне больше нравится метод zip, но это мой вкус.
почтовый метод
element, index = min(list(zip(a, range(len(a)))))
min(list(zip(a, range(len(a)))))
(7, 2)
timeit min(list(zip(a, range(len(a)))))
1.36 µs ± 107 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
метод перечисления
index, element = min(list(enumerate(a)), key=lambda x:x[1])
min(list(enumerate(a)), key=lambda x:x[1])
(2, 7)
timeit min(list(enumerate(a)), key=lambda x:x[1])
1.45 µs ± 78.1 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)