#python #python-3.x #list #count #counter
#питон #python-3.x #Список #граф #счетчик
Вопрос:
Я пытаюсь реализовать код, который будет подсчитывать самый длинный прогон слова в элементе списка
for_example = ['smaplakidfsmapsmapsmapuarebeautiful']
итак, в этом примере это будет 3, потому что smap был повторен 3 раза, так что есть код, который выполняет эту задачу за меня, независимо от того, что это за слово.
Комментарии:
1. Почему
for_example
список. Вы ожидаете, что в нем будет более одного элемента? Если да, будет ли результат максимальным для каждого элемента или максимальным для списка?2. для каждого элемента спасибо, что спросили
4. в этом посте рассказывается о том, как узнать, сколько повторяется, но не последовательно
Ответ №1:
РЕДАКТИРОВАТЬ: Если у вас есть список элементов, вы можете вызвать функцию следующим образом:
[countMaxConsecutiveOccurences(item, 'smap') for item in items]
def countMaxConsecutiveOccurences(item, s):
i = 0
n = len(s)
current_count = 0
max_count = 0
while i < len(item):
if item[i:i n] == s:
current_count = 1
max_count = max(max_count, current_count)
i = n
else:
i = 1
current_count = 0
return max_count
countMaxConsecutiveOccurences('smaplakidfsmapsmapsmapuarebeautiful', 'smap')
Комментарии:
1. Да, но в этом коде вы указали ‘smap’, я хочу последовательное максимальное вхождение слова, независимо от того, что это за слово.
2. Вы имеете в виду, что вам нужна максимальная последовательная подстрока?
3. ваша формулировка «определенного слова» создала у меня впечатление, что это был аргумент — возможно, вы захотите отредактировать этот вопрос.
4. Да, конечно, я понимаю недоразумение.
5. Как определить слово? Словом может быть что угодно…