Я хочу, чтобы найти значение второго наиболее последовательного появления письма «C» из заданной строкипоиск Количество второй макс подряд буквы из строки
й = «SSSSEEEECCCCEE CCCCCCCCC SSSSEEECCCCSSSSSSSEEESS CCCCCCC SEESSSSCCCCCCSSEEEE»
В верхней строке первая жирная «C» является наиболее последовательной «C» в полосе. Я хочу найти вторую полосу. Он может быть такой же длины, как у первой.
я следующий код:
st = 'SSSSEEEECCCCEECCCCCCCCCSSSSEEECCCCSSSSSSSEEESSCCCCCCCSEESSSSCCCCCCSSEEEE'
import re
print "counts_of_C :",list(len(s) for s in re.findall(r'C+', st))
print "first _max : ",max(len(s) for s in re.findall(r'C+', st))
Выход:
counts_of_C : [4, 9, 4, 7, 6]
first_max_value_of_C : 9
То, что я хочу, чтобы найти второго максимум отсчета "C" (второй наиболее последовательное появление C здесь является).
Я могу статически получать это значение из списка подсчета здесь, но я ищу любой другой способ сделать это.
'сортирован ([4, 9, 4, 7, 6]) [1]' – furas
Что делать, если появляется максимум два раза, например, '[4, 9, 4, 9, 6]'? –
@AlexHall В случае повторных максимумов результат должен зависеть от вашего собственного конкретного требования, не так ли? – mikeqfu