Programa Python para obtener todas las claves únicas de una lista de diccionarios

Dada una lista arr[] que consta de N diccionarios , la tarea es encontrar la suma de claves únicas de la lista dada del diccionario.

Ejemplos:

Entrada: arr = [{‘mi’: 1, ‘nombre’: 2}, {‘es’: 1, ‘mi’: 3}, {‘ria’: 2}]
Salida: [‘ria’, ‘mi ‘, ‘es’, ‘nombre’]
Explicación: el conjunto de claves únicas son {“ria”, “mi”, “es”, “nombre”}.

Entrada: array = [{‘X’: 100, ‘Y’: 2}, {‘Z’: 1, ‘Z’: 30}, {‘X’: 21}]
Salida: [‘Z’, ‘X ‘, ‘Y’]
Explicación: El conjunto de claves únicas son {“X”, “Y”, “Z”}.

Enfoque usando herramientas iterables en string : el problema se puede resolver usando los métodos set() y keys() y herramientas iterables en string para resolver el problema anterior.

Siga los pasos a continuación para resolver el problema:

  • Recorra todas las claves de cada diccionario usando herramientas iterables en string
  • Almacene el conjunto de claves en una lista, digamos res .
  • Imprima la lista res como la respuesta requerida.

Python3

# Python3 program for the above approach
from itertools import chain
  
  
# Function to print all unique keys
# present in a list of dictionaries
def UniqueKeys(arr):
  
    # Stores the list of unique keys
    res = list(set(chain.from_iterable(sub.keys() for sub in arr)))
  
    # Print the list
    print(str(res))
  
# Driver Code
arr = [{'my': 1, 'name': 2}, 
       {'is': 1, 'my': 3},
       {'ria': 2}]
UniqueKeys(arr)
Producción:

['is', 'ria', 'my', 'name']

Complejidad de tiempo: O(N * maxm), donde maxm denota el tamaño del diccionario más largo.
Espacio Auxiliar: O(N * maxm)

Enfoque usando Comprensión de lista y Comprensión de diccionario : el problema se puede resolver alternativamente usando el método set() y teclas() y comprensión de lista y comprensión de diccionario para resolver el problema.

Siga los pasos a continuación para resolver el problema:

  • Recorra todas las claves de cada diccionario usando Comprensión de lista y Comprensión de diccionario y luego almacene el conjunto de claves en una lista, digamos res .
  • Imprima la lista res como la respuesta requerida.

Python3

# Python3 program for the above approach
  
from itertools import chain
  
# Function to print all unique keys
# from a list of dictionaries
def UniqueKeys(arr):
  
    # Stores the list of unique keys
    res = list(set(val for dic in arr for val in dic.keys()))
  
    # Print the list
    print(str(res))
  
# Driver Code
  
# Input
arr = [{'my': 1, 'name': 2}, 
       {'is': 1, 'my': 3},
       {'ria': 2}]
  
UniqueKeys(arr)
Producción:

['ria', 'my', 'name', 'is']

Complejidad de tiempo: O(N * maxm), donde maxm denota el tamaño del diccionario más largo.
Espacio Auxiliar: O(N * maxm)

Publicación traducida automáticamente

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