Python: recuento de valores únicos de cada clave

Dada una lista de Diccionarios, la tarea es escribir un programa en Python para contar los valores únicos de cada clave.

Ejemplo:

Entrada: test_list = [{«gfg»: 1, «es»: 3, «mejor»: 2}, {«gfg»: 1, «es»: 3, «mejor»: 6}, 

{«gfg»: 7, «es»: 3, «mejor»: 10}]

Salida: {‘gfg’: 2, ‘es’: 1, ‘mejor’: 3}

Explicación: gfg tiene 1 y 7 como elementos únicos, por lo tanto, 2.

Entrada: test_list = [{«gfg»: 1, «es»: 3, «mejor»: 2}, {«gfg»: 1, «es»: 3, «mejor»: 6},

 {«gfg»: 1, «es»: 3, «mejor»: 10}]

Salida: {‘gfg’: 1, ‘es’: 1, ‘mejor’: 3}

Explicación: gfg tiene solo 1 como elemento único, por lo tanto, 1.

Método #1: Usar len() + set() + bucle

En esto, los valores únicos se extraen usando set(), len() se usa para obtener su conteo, y luego el resultado se asigna a cada clave extraída usando keys(). La iteración sobre las claves se produce en bucle.

Python3

# Python3 code to demonstrate working of
# Unique values count of each Key
# Using len() + set()
  
# initializing lists
test_list = [{"gfg": 1, "is": 3, "best": 2}, {
    "gfg": 1, "is": 3, "best": 6}, {"gfg": 7, "is": 3, "best": 10}]
  
# printing original list
print("The original list is : " + str(test_list))
  
res = dict()
for key in test_list[0].keys():
  
    # mapping unique values.
    res[key] = len(set([sub[key] for sub in test_list]))
  
# printing result
print("Unique count of keys : " + str(res))

Producción:

La lista original es: [{‘gfg’: 1, ‘is’: 3, ‘best’: 2}, {‘gfg’: 1, ‘is’: 3, ‘best’: 6},

 {‘gfg’: 7, ‘es’: 3, ‘mejor’: 10}]

Recuento único de claves: {‘gfg’: 2, ‘is’: 1, ‘best’: 3}

Método #2: Usando la comprensión del diccionario + len() + set()

Similar al método anterior, la diferencia es que la comprensión del diccionario se usa como una alternativa de línea para la taquigrafía.

Python3

# Python3 code to demonstrate working of
# Unique values count of each Key
# Using len() + set() + dictionary comprehension
  
# initializing lists
test_list = [{"gfg": 1, "is": 3, "best": 2}, {
    "gfg": 1, "is": 3, "best": 6}, {"gfg": 7, "is": 3, "best": 10}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# dictionary comprehension for compact solution
res = {key: len(set([sub[key] for sub in test_list]))
       for key in test_list[0].keys()}
  
# printing result
print("Unique count of keys : " + str(res))

Producción:

La lista original es: [{‘gfg’: 1, ‘is’: 3, ‘best’: 2}, {‘gfg’: 1, ‘is’: 3, ‘best’: 6},

 {‘gfg’: 7, ‘es’: 3, ‘mejor’: 10}]

Recuento único de claves: {‘gfg’: 2, ‘is’: 1, ‘best’: 3}

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 *