Python | Más grande, más pequeño, segundo más grande, segundo más pequeño en una lista

Dado que, a diferencia de otros lenguajes de programación, Python no tiene arreglos, sino una lista. El uso de listas es más fácil y cómodo para trabajar en comparación con las arrays. Además, las amplias funciones integradas de Python facilitan la tarea. Entonces, usando estas técnicas, intentemos encontrar los diversos rangos del número en una lista dada. 

Ejemplos:

Input : list = [12, 45, 2, 41, 31, 10, 8, 6, 4]
Output : 
Largest element is: 45
Smallest element is: 2
Second Largest element is: 41
Second Smallest element is: 4
Input : list = [22, 85, 62, 40, 55, 12, 39, 2, 43]
Output :
Largest element is: 85
Smallest element is: 2
Second Largest element is: 62
Second Smallest element is: 12

Enfoque #1: El enfoque es simple. Python nos permite ordenar una lista usando la función list(). Usando esto, podemos encontrar varios rangos de números en una lista, desde su posición, después de ordenarlos. Al igual que la primera posición debe contener el elemento más pequeño y el último debe ser el más grande. 

Python3

# Python prog to illustrate the following in a list
def find_len(list1):
    length = len(list1)
    list1.sort()
    print("Largest element is:", list1[length-1])
    print("Smallest element is:", list1[0])
    print("Second Largest element is:", list1[length-2])
    print("Second Smallest element is:", list1[1])
 
# Driver Code
list1=[12, 45, 2, 41, 31, 10, 8, 6, 4]
Largest = find_len(list1)
Producción:

Largest element is: 45
Smallest element is: 2
Second Largest element is: 41
Second Smallest element is: 4

Enfoque #2: A continuación se muestra otro método tradicional para realizar el siguiente cálculo. El algoritmo es simple, tomamos un número y lo comparamos con todos los demás números presentes en la lista y obtenemos el elemento más grande, el más pequeño, el segundo más grande y el segundo más pequeño. 

Python3

# Python program to find largest, smallest,
# second largest and second smallest in a
# list with complexity O(n)
def Range(list1):
    largest = list1[0]
    lowest = list1[0]
    largest2 = None
    lowest2 = None
    for item in list1[1:]:    
        if item > largest:
            largest2 = largest
            largest = item
        elif largest2 is None or largest2 < item:
            largest2 = item
        if item < lowest:
            lowest2 = lowest
            lowest = item
        elif lowest2 is None or lowest2 > item:
            lowest2 = item
             
    print("Largest element is:", largest)
    print("Smallest element is:", lowest)
    print("Second Largest element is:", largest2)
    print("Second Smallest element is:", lowest2)
 
 
# Driver Code
list1 = [12, 45, 2, 41, 31, 10, 8, 6, 4]
Range(list1)
Producción:

Largest element is: 45
Smallest element is: 2
Second Largest element is: 41
Second Smallest element is: 4

Enfoque n.º 3: esta tarea se puede realizar utilizando los métodos de lista max y pop. Podemos encontrar el elemento más grande y más pequeño de la lista usando el método máximo y mínimo después de que el elemento mínimo y máximo saque los elementos de la lista y nuevamente use el elemento mínimo y máximo para obtener el segundo elemento más grande y el segundo más pequeño. 

Python3

# Python prog for finding largest, smallest
# Second largest and second smallest
def find_len( list1 ) :
    # max gives maximum element of list
    # Pop pull outs index element
    Lelmt = max( list1 )
    list1.pop( list1.index( Lelmt ) )
    sLelmt = max(list1)
    # Min gives minimum element of list
    # Pop pull outs index element
    Selmt = min( list1 )
    list1.pop( list1.index( Selmt ) )
    sSelmt = min( list1 )
    # Printing Min and max of list
    print("Largest element is:", Lelmt )
    print("Smallest element is:", Selmt )
    print("Second Largest element is:", sLelmt )
    print("Second Smallest element is:", sSelmt )
 
# Driver Code
list1=[12, 45, 2, 41, 31, 10, 8, 6, 4]
Largest = find_len(list1)

Producción:

Largest element is: 45
Smallest element is: 2
Second Largest element is: 41
Second Smallest element is: 4

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka 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 *