例えば、入力文字列 "CAXAAYXZA"を指定すると、 'A'で始まり 'X'で終わる4つの部分文字列があります。 「AXAAYX」、「AAYX」、「AYX」の3種類があります。意志、この場合には、実行した後Pythonは、文字で始まり別の文字で始まる部分文字列の数を数えます。
s = 'CAXAAYXZA'
n = sum(len(re.findall('(A\w{%i}X)' % i, s)) for i in range(len(s)))
、n
:
例えば、入力文字列 "CAXAAYXZA"を指定すると、 'A'で始まり 'X'で終わる4つの部分文字列があります。 「AXAAYX」、「AAYX」、「AYX」の3種類があります。意志、この場合には、実行した後Pythonは、文字で始まり別の文字で始まる部分文字列の数を数えます。
s = 'CAXAAYXZA'
n = sum(len(re.findall('(A\w{%i}X)' % i, s)) for i in range(len(s)))
、n
:
s = "CAXAAYXZA"
a = numpy.array(list(s))
start_indexes= numpy.where(a=='A')[0]
end_indexes= numpy.where(a=='X')[0]
print(sum(1 for i in start_indexes for j in end_indexes if i < j))
あなたは、これが
あなたは正規表現を適用し、それぞれの長さでグループを検索することができませんでしたの方法であります4
と等しくなります。又はその拡張形態にある:
n = 0
for i in range(len(s)):
# Increase the total by the groups at i
n += len(re.findall('(A\w{%i}X)' % i, s))
print "DO YOUR ASSIGNMENTS BY YOURSELF"
string="CAXAAYXZA"
string_char=list(string)
string_length=len(string_char)
print(string_char)
char_first="A"
char_second="X"
for i in range(0,string_length):
for b in range(i,string_length):
if(string_char[i]==char_first and string_char[b]==char_second):
list=[]
for z in range(i,b+1):
list.append(string_char[z])
print(''.join(list))
OUTPUT:
ユアセルフ
して割り当てをDO [ 'C'、 'A'、 'X'、 'A'、「 」、 'Y'、 'X'、 'Z'、 'A']
AX
AXAAYX
AAYX
AYX
これをアップしてください、もしあなたがそれを使っていたら、私はこれについていくつかの時間を無駄にしました。 –
[文字 'A' で始まるサブストリングをカウントし、文字 'X' で終わる]の可能な重複(https://stackoverflow.com/questions/21349353/counting-substring-that -begin-with-character-a-and-with-character-x) – LW001