"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como eliminar dicionários duplicados em uma lista Python?

Como eliminar dicionários duplicados em uma lista Python?

Publicado em 2024-11-08
Navegar:898

How to Eliminate Duplicate Dictionaries in a Python List?

Removendo duplicatas de uma lista de dicionários

A duplicação em uma coleta de dados pode ser um obstáculo ao processamento eficiente de dados. Na programação Python, listas de dicionários são comumente usadas para armazenar dados tabulares. No entanto, pode haver casos em que você precise remover dicionários duplicados dessa lista.

Considere a seguinte lista de dicionários:

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

O objetivo é obter uma lista apenas com dicionários únicos, excluindo os duplicados. Para conseguir isso, podemos empregar uma abordagem simples:

Criando um dicionário temporário com ID como chave

  1. Crie um dicionário temporário usando uma compreensão de lista, onde a chave para cada dicionário é seu campo 'id'.
  2. Esta etapa mapeia essencialmente cada valor de 'id' exclusivo para um valor específico dicionário.

Extraindo dicionários exclusivos de valores

  1. Obtenha os valores do dicionário temporário usando o métodovalues().
  2. O resultado é uma lista de dicionários exclusivos, com duplicatas removidas.

Python Implementação

Veja como implementar essa abordagem em 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 produzirá a seguinte saída:

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

Ao empregar esta estratégia, você pode remova efetivamente dicionários duplicados de uma lista e obtenha uma nova lista apenas com elementos exclusivos.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3