我的路線是:發現出現次數
line = "aaaaaaaaaaaaaaxxxxxxxxxxxxxxbbbbbbbbbbbbxxxxxxxxxxxxxxxxxxxbbbbbbbbbbb"
我怎樣才能找到line
「XXXXX」的補丁的數量?例如,上面的答案是2
。
請注意,'x's
的數量可能會有所不同。
我的路線是:發現出現次數
line = "aaaaaaaaaaaaaaxxxxxxxxxxxxxxbbbbbbbbbbbbxxxxxxxxxxxxxxxxxxxbbbbbbbbbbb"
我怎樣才能找到line
「XXXXX」的補丁的數量?例如,上面的答案是2
。
請注意,'x's
的數量可能會有所不同。
您可以使用groupby
到組的每個「補丁」再算上出現的次數:
from itertools import groupby
line = 'aaaaaaaaaaaaaaxxxxxxxxxxxxxxbbbbbbbbbbbbxxxxxxxxxxxxxxxxxxxbbbbbbbbbbb'
number_of_x = sum(ch == 'x' for ch, _ in groupby(line))
那真的很漂亮! –
謝謝喬納斯。它完美的作品。我想知道我什麼時候能夠編寫這樣的代碼。 – ana
這是哪裏的正則表達式是非常有用的一個很好的例子。我不是世界上最好的正則表達式時,但在這裏是一個可行的片段:
import re
line = "aaaaaaaaaaaaaaxxxxxxxxxxxxxxbbbbbbbbbbbbxxxxxxxxxxxxxxxxxxxbbbbbbbbbbb"
patches = len(re.findall(r"(x+)", line))
該作品以「X」不管有多長匹配1或以上的團體。
你試過了什麼? – Harsha
我試過s.find('x')和s.rfind('x'),但它不會給我想要的結果 – ana
至少有3個x是 – ana