«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как удалить повторяющиеся словари в списке Python?

Как удалить повторяющиеся словари в списке Python?

Опубликовано 8 ноября 2024 г.
Просматривать:686

How to Eliminate Duplicate Dictionaries in a Python List?

Удаление дубликатов из списка словарей

Дублирование в коллекции данных может стать помехой для эффективной обработки данных. В программировании на Python списки словарей обычно используются для хранения табличных данных. Однако могут быть случаи, когда вам потребуется удалить повторяющиеся словари из такого списка.

Рассмотрим следующий список словарей:

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

Цель состоит в том, чтобы получить список только с уникальными словарями, исключая дубликаты. Чтобы добиться этого, мы можем использовать простой подход:

Создание временного словаря с идентификатором в качестве ключа

  1. Создайте временный словарь, используя понимание списка, где ключом для каждого словаря является его поле «id».
  2. Этот шаг по существу сопоставляет каждое уникальное значение «id» с конкретным словарь.

Извлечение уникальных словарей из значений

  1. Получите значения временного словаря с помощью метода Values().
  2. Результатом является список уникальных словарей, дубликаты которых удалены.

Python Реализация

Вот как реализовать этот подход в 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))

Этот код выдаст следующий результат:

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

Используя это стратегии вы можете эффективно удалить повторяющиеся словари из списка и получить новый список только с уникальными элементами.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3