Python: pares iguales totales en la lista

Dada una lista, la tarea es escribir un programa en Python para calcular el total de pares de dígitos iguales, es decir, extraer el número de todos los elementos que pueden emparejarse con elementos similares presentes en la lista.

Input : test_list = [2, 4, 5, 2, 5, 4, 2, 4, 5, 7, 7, 8, 3]
Output : 4

Explanation : 4, 2 and 5 have 3 occurrences, 7 has 2 occurrences, 1 pair each.

Input : test_list = [2, 4, 5, 2, 5, 4, 2, 4, 5, 7, 7, 8, 3, 3]
Output : 5

Explanation : 4, 2 and 5 have 3 occurrences, 1 pair each and 3, 7 have 2 occurrences, total 5 pairs.

Método n.° 1: Usar contar() + establecer()

En esto, convertimos el contenedor en set y usamos count() en cada elemento de la lista original. Publica que se obtiene el cociente con 2 y se suma para obtener los pares requeridos.

Python3

# Python3 code to demonstrate working of
# Total equal pairs in List
# Using loop + count()
  
# initializing lists
test_list = [2, 4, 5, 2, 5, 4, 2, 4, 5, 7, 7, 8, 3]
  
# printing original list
print("The original list is : " + str(test_list))
  
all_ele = set(test_list)
res = 0
for ele in all_ele:
  
    # summing count from element list
    res += test_list.count(ele) // 2
  
# printing result
print("Total Pairs : " + str(res))

Producción:

The original list is : [2, 4, 5, 2, 5, 4, 2, 4, 5, 7, 7, 8, 3]
Total Pairs : 4

Método #2: Usando Counter() + comprensión de lista + sum()

En esto, obtener el conteo de cada elemento se realiza usando Counter() , sum() se usa para calcular los pares totales.

Python3

# Python3 code to demonstrate working of
# Total equal pairs in List
# Using Counter() + list comprehension + sum()
from collections import Counter
  
# initializing lists
test_list = [2, 4, 5, 2, 5, 4, 2, 4, 5, 7, 7, 8, 3]
  
# printing original list
print("The original list is : " + str(test_list))
  
# using Counter for getting elements count
res = sum(ele // 2 for ele in Counter(test_list).values())
  
# printing result
print("Total Pairs : " + str(res))

Producción:

The original list is : [2, 4, 5, 2, 5, 4, 2, 4, 5, 7, 7, 8, 3]
Total Pairs : 4

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 *