Programa de Python para mostrar claves con los mismos valores en una lista de diccionario

Dada una lista con todos los elementos del diccionario, la tarea es escribir un programa Python para extraer claves que tengan valores similares en todos los diccionarios.

Ejemplos:

Entrada : lista_prueba = [{“Gfg”: 5, “es”: 8, “mejor”: 0}, {“Gfg”: 5, “es”: 1, “mejor”: 0}, {“Gfg”: 5, “es”: 0, “mejor”: 0}] 
Salida : [‘Gfg’, ‘mejor’] 
Explicación : Todos los valores de Gfg son 5 y mejor tiene 0 como todos sus valores en todos los diccionarios.

Entrada : lista_prueba = [{“Gfg”: 5, “es”: 8, “mejor”: 1}, {“Gfg”: 5, “es”: 1, “mejor”: 0}, {“Gfg”: 5, «es»: 0, «mejor»: 0}] 
Salida : [‘Gfg’] 
Explicación : todos los valores de Gfg son 5. 
 

Método 1: Usar teclas() y bucle

En esto, iteramos a través de todos los elementos de la lista usando loop y extrayendo claves usando keys(). Para cada clave, se compara la clave de cada diccionario, si se encuentra similar, se agrega la clave al resultado.

Python3

# initializing Matrix
test_list = [{"Gfg": 5, "is": 8, "best": 0},
             {"Gfg": 5, "is": 1, "best": 0},
             {"Gfg": 5, "is": 0, "best": 0}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# getting keys
keys = list(test_list[0].keys())
  
res = []
# iterating each dictionary for similar key's value
for key in keys:
    flag = 1
    for ele in test_list:
  
        # checking for similar values
        if test_list[0][key] != ele[key]:
            flag = 0
            break
  
    if flag:
        res.append(key)
  
# printing result
print("Similar values keys : " + str(res))

Producción:

La lista original es: [{‘Gfg’: 5, ‘is’: 8, ‘best’: 0}, {‘Gfg’: 5, ‘is’: 1, ‘best’: 0}, {‘Gfg’ : 5, ‘es’: 0, ‘mejor’: 0}]

Claves de valores similares: [‘Gfg’, ‘best’]

Método 2: Usar all() , loop y keys()

En esto, el bucle interno se evita y se reemplaza por all() que verifica todas las claves que tienen valores similares y luego se extrae la clave.

Python3

# initializing Matrix
test_list = [{"Gfg": 5, "is": 8, "best": 0},
             {"Gfg": 5, "is": 1, "best": 0},
             {"Gfg": 5, "is": 0, "best": 0}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# getting keys
keys = list(test_list[0].keys())
  
res = []
  
# iterating each dictionary for similar key's value
for key in keys:
  
    # using all to check all keys with similar values
    flag = all(test_list[0][key] == ele[key] for ele in test_list)
  
    if flag:
        res.append(key)
  
# printing result
print("Similar values keys : " + str(res))

Producción:

La lista original es: [{‘Gfg’: 5, ‘is’: 8, ‘best’: 0}, {‘Gfg’: 5, ‘is’: 1, ‘best’: 0}, {‘Gfg’ : 5, ‘es’: 0, ‘mejor’: 0}]

Claves de valores similares: [‘Gfg’, ‘best’]

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 *