【发布时间】:2019-03-16 21:07:57
【问题描述】:
我想用蛮力找到L = ['C', 'A', 'B', 'A', 'A', 'X', 'B', 'Y', 'A'] 中的所有子字符串'A' to 'B',这就是我所做的:
def find_substring(L):
t = 0
s = []
for i in range(len(L) - 1):
l = []
if ord(L[i]) == 65:
for j in range(i, len(L)):
l.append(L[j])
if ord(L[j]) == 66:
t = t + 1
s.append(l)
return s, t
现在我想要输出:
[['A','B'], ['A','B','A','A','X','B'], ['A','A','X','B'], ['A','X','B']]
但我明白了:
[['A','B','A','A','X','B','Y','A'],['A','B','A','A','X','B','Y','A'],['A','A','X','B','Y','A'],['A','X','B','Y','A']]
谁能告诉我我做错了什么?
【问题讨论】:
-
当你找到一个'B'你需要
break退出内循环。 -
@JohnnyMopp 不,因为你想要所有这些。
-
@JoeIddon 好的,我现在明白了。
-
@JohnnyMopp 看看我的回答:)
标签: python string python-3.x substring brute-force