"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo eliminar diccionarios duplicados en una lista de Python?

¿Cómo eliminar diccionarios duplicados en una lista de Python?

Publicado el 2024-11-08
Navegar:768

How to Eliminate Duplicate Dictionaries in a Python List?

Eliminar duplicados de una lista de diccionarios

La duplicación en una recopilación de datos puede ser un obstáculo para el procesamiento eficiente de datos. En la programación Python, las listas de diccionarios se usan comúnmente para almacenar datos tabulares. Sin embargo, puede haber casos en los que necesites eliminar diccionarios duplicados de dicha lista.

Considera la siguiente lista de diccionarios:

[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]

El objetivo es obtener una lista con diccionarios únicos, excluyendo los duplicados. Para lograr esto, podemos emplear un enfoque sencillo:

Crear un diccionario temporal con ID como clave

  1. Crear un diccionario temporal usando una lista por comprensión, donde la clave para cada diccionario es su campo 'id'.
  2. Este paso básicamente asigna cada valor 'id' único a un diccionario específico.

Extracción de diccionarios únicos a partir de valores

  1. Obtenga los valores del diccionario temporal usando el método valores().
  2. El resultado es una lista de diccionarios únicos, con los duplicados eliminados.

Implementación de Python

A continuación se explica cómo implementar este enfoque en Python:

def remove_duplicates_from_dicts(dict_list):
    dict_id_mapping = {v['id']: v for v in dict_list}
    return list(dict_id_mapping.values())

sample_list = [
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]
print(remove_duplicates_from_dicts(sample_list))

Este código producirá el siguiente resultado:

[{'id': 1, 'name': 'john', 'age': 34}, {'id': 2, 'name': 'hanna', 'age': 30}]

Al emplear esta estrategia, puede eliminar eficazmente diccionarios duplicados de una lista y obtener una nueva lista solo con diccionarios únicos. elementos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3