Поиск дубликатов в списке Python
Last updated
Last updated
В этом уроке вы узнаете, как находить и работать с дубликатами в списке Python. Умение эффективно работать со списками Python — важный навык, учитывая их широкое использование. Поскольку списки Python позволяют хранить дублирующиеся значения, умение находить, удалять и понимать дубликаты — полезный навык.
В конце этого руководства вы научитесь:
Найти дубликаты в списке и подсчитать их
Удалить дубликаты в списках Python
Найти дубликаты в списке словарей и списках
Оглавление
Начнем этот урок с рассмотрения того, как найти дубликаты в списке на Python. Мы можем сделать это, используя функцию set()
и метод list.count().
Метод .count()
принимает один аргумент, элемент, который вы хотите посчитать, и возвращает количество раз появления этого элемента в списке. Благодаря этому мы можем создать списковое включение, которое возвращает только элементы, которые встречаются более одного раза. Давайте посмотрим, как это работает и разберем это более подробно:
Давайте разберем, что мы здесь сделали:
Мы использовали списковое включение, чтобы включить любой элемент, который встречался в списке больше одного раза.
Затем мы преобразовали это в множество, чтобы удалить все дубликаты из отфильтрованного списка
Наконец, мы преобразовали множество обратно в список
В следующем разделе вы узнаете, как найти дубликаты в списке Python и подсчитать, как часто они встречаются.
В этом разделе вы узнаете, как считать дублирующиеся элементы в списках Python. Это позволяет преобразовать список элементов в словарь, где ключом является элемент списка, а соответствующее значение – это количество раз, которое элемент дублируется.
Давайте разберем этот код, так как он немного сложнее:
Мы импортируем класс Counter
из библиотеки collections
Мы загружаем наш список numbers
Затем мы создаем объект Counter из нашего списка и преобразуем его в словарь
Затем мы фильтруем наш словарь, чтобы удалить любые пары ключ:значение, где ключ встречается только один раз.
В следующем разделе вы узнаете, как удалить дубликаты из списка в Python.
Удаление дубликатов в списке Python легко выполняется с помощью функции set()
. Так как множества в Python не могут содержать дубликаты, при преобразовании списка в множество удаляются все дубликаты. Затем можно снова преобразовать множество в список, используя функцию list()
Давайте посмотрим, как мы можем сделать это на Python:
Давайте рассмотрим, как мы можем удалить дубликаты из списка словарей в Python. Часто вы будете сталкиваться с данными из Интернета в форматах, которые напоминают списки словарей. Умение удалять дубликаты из этих списков — важный навык для упрощения ваших данных.
Давайте посмотрим, как мы можем сделать это в Python, используя цикл for:
Этот метод будет включать только полные дубликаты. Это означает, что если в словаре есть, скажем, дополнительная пара ключ-значение, он будет включён.
Мы можем использовать тот же подход для удаления дубликатов из списка списков в Python. Снова, этот подход потребует, чтобы список был полностью одинаковым, чтобы его можно было считать дубликатом. В этом случае даже разные порядки будут считаться уникальными.
Давайте посмотрим, как это выглядит:
Мы перебираем каждый подсписок в нашем списке списков и проверяем, существует ли элемент в нашем уникальном списке. Если элемент еще не существует (иными словами, он уникален на данный момент), то он добавляется в наш список. Это гарантирует, что элемент добавляется в список только один раз.
В этом руководстве вы узнали, как работать с дублирующимися элементами в списках Python. Сначала вы узнали, как идентифицировать повторяющиеся элементы и подсчитывать, как часто они встречаются. Затем вы узнали, как удалить дублирующиеся элементы из списка с помощью функции set()
. Далее вы узнали, как удалить дублирующиеся элементы из списка словарей и списка списков в Python.
Работа со списками значительно улучшает ваши навыки программирования на Python. Поскольку эти структуры данных невероятно распространены, умение работать с ними делает вас намного более уверенным и способным разработчиком.
Чтобы узнать о связанных темах, ознакомьтесь с учебными пособиями ниже:
Python: объединить списки – объединить списки (8 способов)
Python: подсчитать количество вхождений в списке (6 способов)
Разница в списках Python: найдите разницу между двумя списками Python
Для выполнения этой задачи мы воспользуемся классом Counter
из модуля collections. Затем . Давайте посмотрим на код и затем разберем шаги построчно:
Чтобы узнать о других способах удаления дубликатов из списка в Python, , где рассматривается множество различных методов! В следующем разделе вы узнаете, как находить дубликаты в списке словарей.
Чтобы узнать больше о классе Counter
из библиотеки collections,