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

Как я могу эффективно подсчитывать вхождения подстроки в Python (включая случаи перекрытия)?

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

How Can I Efficiently Count Substring Occurrences in Python (Including Overlapping Cases)?

Подсчет вхождений подстроки в строку в Python

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

Один простой подход — использовать метод string.count(). Этот метод принимает подстроку в качестве аргумента и возвращает количество вхождений в строку. Например:

>>> 'foo bar foo'.count('foo')
2

Этот метод также учитывает два последовательных перекрывающихся вхождения подстроки. Если это нежелательно, вы можете рассмотреть другие варианты.

Если вам необходимо учитывать перекрывающиеся случаи, можно использовать специальную реализацию с использованием подхода скользящего окна. Вот пример:

def count_overlapping_occurrences(string, substring):
    count = 0
    window_start = 0
    window_end = len(substring)
    while window_end >> count_overlapping_occurrences('abcdabcva', 'ab')
4

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

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

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

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

Copyright© 2022 湘ICP备2022001581号-3