Как найти все вхождения элемента в списке в Python

Перейти в телеграм, чтобы получить результаты теста
Пройдите тест, узнайте какой профессии подходите
Вам подходит профессия:
Аналитик данных
Основные характеристики профессии:
не нужно общаться с людьми
логика
анализ
поиск закономерностей
работа с числами
Построим личный план перехода в профессию для вас бесплатно
- убедитесь, подходит вам профессия или нет
- получите оценку своих навыков и шансов освоить профессию
- забронируем за вами скидку 55% на обучение, пока думаете
Позвоним вам в течение часа — не пропустите звонок
Чем занимается специалист
Специалист создает все онлайн-продукты, программы, приложения, игры и сайты, которыми вы пользуетесь каждый день.
Создает — значит описывает последовательность действий на специальном языке программирования. Настраивает действия, что должно произойти, если пользователь нажмет на кнопку.
Средняя зарплата начинающего специалиста в первый год работы:
от 50 000 ₽
Что надо знать и уметь, чтобы выучиться на аналитика:
- базовое школьное образование
- уверенные навыки работы с компьютером
- опыт выполнения задач в конкретные сроки
Глубокие знания математики или английского не нужны
Почему мы рекомендуем вам эту профессию
Ваш скрытый талант:
наблюдательность
Часто возникает необходимость найти все вхождения определенного элемента в списке. Встроенный метод Python index() возвращает индекс первого вхождения
Часто возникает необходимость найти все вхождения определенного элемента в списке. Встроенный метод Python index()
возвращает индекс первого вхождения элемента в списке, но что делать, если необходимо найти все вхождения элемента?
Предположим, есть список:
numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3]
И нужно найти все вхождения числа 1 в этом списке.
Существует несколько способов решить эту задачу.
Способ 1: Использование цикла for и функции enumerate()
Один из способов — использовать цикл for
и функцию enumerate()
. Функция enumerate()
принимает список и возвращает индекс и значение каждого элемента в формате объекта. Этот объект можно использовать в цикле for
для обхода списка.
numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3]
indices = [i for i, x in enumerate(numbers) if x==1]
print(indices)
Способ 2: Использование функции list comprehension
Другой способ — использовать list comprehension, для создания нового списка, который будет содержать индексы всех вхождений элемента.
numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3]
indices = [i for i in range(len(numbers)) if numbers[i]==1]
print(indices)
Оба этих способа вернут список индексов [0, 3, 6]
, что соответствует всем позициям числа 1 в исходном списке.
Таким образом, можно использовать циклы и другие функции Python для решения задачи поиска всех вхождений элемента в списке.
Добавить комментарий