Python: máximo de elementos K en otra lista

Dadas dos listas, extraiga el máximo de elementos con K similar en la lista correspondiente.

Entrada : test_list1 = [4, 3, 6, 2, 8], test_list2 = [3, 6, 3, 4, 3], K = 3 Salida: 8 Explicación: los 
elementos correspondientes 
a 3 son, 4, 6 y 8 , máx. es 8.
Entrada : test_list1 = [10, 3, 6, 2, 8], test_list2 = [5, 6, 5, 4, 5], K = 5 Salida: 10 Explicación: Los 
elementos correspondientes 
a 5 son, 10, 6 , y 8, Máx. es 10 
 

Método #1: Usar loop + max() 

 En esto, extraemos todos los elementos de la lista 1 que son iguales a K en la lista 2, y luego ejecutamos max() para obtener el máximo de ellos.

Python3

# Python3 code to demonstrate working of
# Maximum of K element in other list
# Using loop + max()
 
# initializing lists
test_list1 = [4, 3, 6, 2, 9]
test_list2 = [3, 6, 3, 4, 3]
 
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
 
# initializing K
K = 3
 
res = []
for idx in range(len(test_list1)):
     
    # checking for K in 2nd list
    if test_list2[idx] == K :
        res.append(test_list1[idx])
 
# getting Maximum element
res = max(res)
 
# printing result
print("Extracted Maximum element : " + str(res))
Producción

The original list 1 is : [4, 3, 6, 2, 9]
The original list 2 is : [3, 6, 3, 4, 3]
Extracted Maximum element : 9

Método #2: comprensión de lista + max() + zip()

En esto, realizamos la tarea de emparejar elementos usando zip() y es una solución de una sola línea provista usando comprensión de lista.

Python3

# Python3 code to demonstrate working of
# Maximum of K element in other list
# Using list comprehension + max() + zip()
 
# initializing lists
test_list1 = [4, 3, 6, 2, 9]
test_list2 = [3, 6, 3, 4, 3]
 
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
 
# initializing K
K = 3
 
# one liner to solve this problem
res = max([sub1 for sub1, sub2 in zip(test_list1, test_list2) if sub2 == K])
 
# printing result
print("Extracted Maximum element : " + str(res))
Producción

The original list 1 is : [4, 3, 6, 2, 9]
The original list 2 is : [3, 6, 3, 4, 3]
Extracted Maximum element : 9

Publicación traducida automáticamente

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