Określ minimalny element, a następnie sprawdź go względem innych elementów na liście.
def locate_min(a):
smallest = min(a)
return smallest, [index for index, element in enumerate(a)
if smallest == element]
która zwróci krotkę (min_element, [location, location, ...]). Jeśli dobrze cię rozumiem, myślę, że tego chcesz. Na przykład:
>>> locate_min([1, 2, 1, 1, 4, 5, 6])
(1, [0, 2, 3])
W tym przykładzie zastosowano ze zrozumieniem listy. Jeśli nie jesteś tego obeznany, jest to mniej więcej odpowiednik następującej wersji for-loop. (Użyj pierwszą wersję, to tylko, aby pomóc zrozumieć, jak to działa)
def locate_min(a):
min_indicies = []
smallest = min(a)
for index, element in enumerate(a):
if smallest == element: # check if this element is the minimum_value
min_indicies.append(index) # add the index to the list if it is
return smallest, min_indicies