Я пытаюсь поймать, если одна буква, которая появляется дважды в строке с использованием RegEx (или, может быть, есть несколько лучших способов?), например, моя строка:
ugknbfddgicrmopn
Вывод будет:
dd
Однако я пробовал что-то вроде:
re.findall('[a-z]{2}', 'ugknbfddgicrmopn')
но в этом случае он возвращает:
['ug', 'kn', 'bf', 'dd', 'gi', 'cr', 'mo', 'pn'] # the except output is `['dd']`
У меня также есть способ получить результат ожидания:
>>> l = []
>>> tmp = None
>>> for i in 'ugknbfddgicrmopn':
... if tmp != i:
... tmp = i
... continue
... l.append(i*2)
...
...
>>> l
['dd']
>>>
Но это слишком сложно...
Если он 'abbbcppq'
, то только catch:
abbbcppq
^^ ^^
Таким образом, выход:
['bb', 'pp']
Затем, если он 'abbbbcppq'
, дважды поймайте bb
:
abbbbcppq
^^^^ ^^
Таким образом, выход:
['bb', 'bb', 'pp']