Python | Posición máxima y mínima del elemento en una lista

Dada una lista de N enteros, encuentre la posición máxima y mínima del elemento en la lista.

Ejemplos:

Input :  3, 4, 1, 3, 4, 5
Output :  The maximum is at position 6
          The minimum is at position 3

El enfoque ingenuo será recorrer la lista y realizar un seguimiento del mínimo y máximo junto con sus índices. Tenemos que hacer N comparaciones para el mínimo y al mismo tiempo N comparaciones para el máximo.
A continuación se muestra la implementación del enfoque ingenuo.

#Naive approach
#to find index of maximum and
#minimum element in the array.
gfg_list=[8,1,7,10,5]
#min and max indexes are taken 1st element 
#In some cases list might be a single element
min_ele,max_ele=gfg_list[0],gfg_list[0] 
for i in range(1,len(gfg_list)):
    if gfg_list[i]<min_ele:
        min_ele=gfg_list[i]
    if gfg_list[i]>max_ele:
        max_ele=gfg_list[i]
print('Minimum Element in the list',gfg_list,'is',min_ele)
print('Maximum Element in the list',gfg_list,'is',max_ele)
Producción:

Minimum Element in the list [8, 1, 7, 10, 5] is 1
Maximum Element in the list [8, 1, 7, 10, 5] is 10

La función incorporada de Python nos permite encontrarlo en una línea, podemos encontrar el mínimo en la lista usando la función min() y luego usamos la función index() para encontrar el índice de ese elemento mínimo. De manera similar, podemos hacer lo mismo para encontrar el elemento máximo usando la función max() y luego encontrar el índice del elemento máximo usando la función incorporada index() en python.

Nota:
index() devuelve el índice de la primera aparición en caso de que haya varias apariciones de un elemento. Entonces, si el máximo (o el mínimo) ocurre más de una vez, se devuelve la primera ocurrencia.

A continuación se muestra la implementación del enfoque anterior:

# function to find minimum and maximum position in list
def minimum(a, n):
  
    # inbuilt function to find the position of minimum 
    minpos = a.index(min(a))
      
    # inbuilt function to find the position of maximum 
    maxpos = a.index(max(a)) 
      
    # printing the position 
    print "The maximum is at position", maxpos + 1  
    print "The minimum is at position", minpos + 1
      
      
# driver code
a = [3, 4, 1, 3, 4, 5] 
minimum(a, len(a))
Producción:

The maximum is at position 6
The minimum is at position 3

Publicación traducida automáticamente

Artículo escrito por Striver y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *