Python: suma de cada ocurrencia de elemento de lista en otra

A veces, mientras trabajamos con Python, podemos tener un problema en el que necesitamos que aparezca un elemento en otro. Pero como una modificación de esto, podemos tener un problema en el que necesitamos contar la ocurrencia de todos los elementos de una lista en otra. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Uso de bucles anidados
Esta es una de las formas en que se puede realizar esta tarea. Esta es una forma de fuerza bruta en la que se puede realizar esta tarea. En esto, iteramos una lista y luego la lista de destino, si el elemento coincide, aumentamos el contador.

# Python3 code to demonstrate 
# Sum of each List element occurrence in another
# using nested loops
  
# Initializing lists
test_list1 = [1, 3, 4, 5, 1, 4, 4, 6, 7]
test_list2 = [4, 6, 1]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Sum of each List element occurrence in another
# using nested loops
res = 0
for ele in test_list2:
    for ele1 in test_list1:
        if ele1 == ele:
            res = res + 1
  
# printing result 
print ("The occurrence count : " + str(res))
Producción :

The original list 1 is : [1, 3, 4, 5, 1, 4, 4, 6, 7]
The original list 2 is : [4, 6, 1]
The occurrence count : 6

Método #2: Usosum() + count()
La combinación de los métodos anteriores se puede utilizar para realizar esta tarea en particular. Esta es una alternativa de línea al método anterior. En este, el conteo se realiza usando count() y la acumulación usando sum().

# Python3 code to demonstrate 
# Sum of each List element occurrence in another
# using sum() + count()
  
# Initializing lists
test_list1 = [1, 3, 4, 5, 1, 4, 4, 6, 7]
test_list2 = [4, 6, 1]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Sum of each List element occurrence in another
# using sum() + count()
res = sum(test_list1.count(idx) for idx in test_list2)
  
# printing result 
print ("The occurrence count : " + str(res))
Producción :

The original list 1 is : [1, 3, 4, 5, 1, 4, 4, 6, 7]
The original list 2 is : [4, 6, 1]
The occurrence count : 6

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 *