【发布时间】:2015-01-03 15:43:49
【问题描述】:
如果我有一个字母列表,例如:word = ['W','I','N','E']
并且需要获取所有可能的子字符串序列,长度不超过 3,例如:W I N E, WI N E, WI NE, W IN E, WIN E 等
解决此问题的最有效方法是什么?
现在,我有:
word = ['W','I','N','E']
for idx,phon in enumerate(word):
phon_seq = ""
for p_len in range(3):
if idx-p_len >= 0:
phon_seq = " ".join(word[idx-(p_len):idx+1])
print(phon_seq)
这只是给我以下,而不是子序列:
W
I
W I
N
I N
W I N
E
N E
I N E
我只是不知道如何创建每个可能的序列。
【问题讨论】:
-
你需要排列吗?还是只是子字符串?
-
只是子字符串,因为它们需要是连续的。
-
您所寻找的不就是“WINE”,其中包含所有可能的空间位置吗?
-
@Reut - 输出会很长。问题中有一些例子
-
IIUC,你想要 this 这样的东西,但至少有一个拆分,所以你不会得到
"WINE"作为输出。对吗?
标签: python