Найти повторяющиеся элементы в списке Python
В этом посте мы обсудим, как найти повторяющиеся элементы в списке в Python.
1. Использование index() функция
Простое решение состоит в том, чтобы выполнить итерацию по списку с индексами, используя понимание списка, и проверить наличие другого вхождения каждого встреченного элемента, используя index() функция. Временная сложность этого решения будет квадратичной, а код не обрабатывает повторяющиеся элементы в выводе.
Поиск индексов повторяющихся элементов списка
Есть список, и мне нужно знать индекс определенного элемента.
Например:
То есть в данном списке, мне нужны индексы — 0, 2, 5
![]()
Если нужны индексы именно элементов «Маша»:
![]()
Здесь можно создать словарь, в котором по ключу будут храниться список с индексами
![]()
![]()
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Индекс повторяющихся элементов в списке Python
Кто-нибудь знает, как я могу получить индексную позицию повторяющихся элементов в списке Python? Я пробовал сделать это, и он продолжает давать мне только индекс 1-го вхождения элемента в списке.
Я хочу, чтобы он дал мне:
задан 24 марта ’11, 09:03
Обратите внимание, что Руководство по стилю Python говорит, что вы не должны использовать имена переменных с заглавной буквы, а также избегать использования имен встроенных классов, таких как список. — Lauritz V. Thaulow
@лазир: List is отличается от list . — martineau
@martineau: Я знаю, но я хотел убедиться, что он не решил проблему с заглавными буквами, просто заключив свою переменную в нижний регистр. — Lauritz V. Thaulow
17 ответы
Вы хотите передать необязательный второй параметр для индексации, место, где вы хотите, чтобы индекс начал поиск. После того, как вы найдете каждое совпадение, сбросьте этот параметр на место сразу после найденного совпадения.
Вы можете найти все дубликаты одновременно в одном проходе через источник, используя defaultdict, чтобы сохранить список всех обнаруженных местоположений для любого элемента и вернуть те элементы, которые были просмотрены более одного раза.
Определить повторяющиеся значения в списке в Python
Можно ли получить, какие значения являются дубликатами в списке, используя python?
У меня есть список элементов:
Я знаю, что лучший способ удаления дубликатов — set(mylist) , но можно ли узнать, какие значения дублируются? Как вы можете видеть, в этом списке дубликаты — это первое и последнее значения. [0, 3] .
Можно ли получить этот результат или что-то подобное в python? Я стараюсь избегать делать смехотворно большой условный оператор if elif .