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)
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)
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