from itertools import islice
def window(seq, n=4):
if len(seq)<n:
yield seq
"Returns a sliding window (of width n) over data from the iterable"
" s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... "
it = iter(seq)
result = tuple(islice(it, n))
if len(result) == n:
yield result
for elem in it:
result = result[1:] + (elem,)
yield result
result = []
input = 'Hello my name is Steven'
for item in input.split():
result.extend(list(window(item)))
result = map(lambda x: ''.join(x), result)
print result
您可以过滤上述输出并减少所需的输出。在
输出:
^{pr2}$对你提到的帖子中接受的答案稍加修改(如果是在window()中添加的话),然后在每个项目中应用该函数,就可以得到你想要的结果。在
可以看到带有工作示例的代码here
相关问题 更多 >
编程相关推荐