认为 -
string = "abcdefgh"
Run Code Online (Sandbox Code Playgroud)
如果我做 -
for i in string:
print (i)
Run Code Online (Sandbox Code Playgroud)
我得到-
a
b
c
d
e
f
g
Run Code Online (Sandbox Code Playgroud)
我想要的是这样的 -
ab
bc
cd
de
ef
fg
Run Code Online (Sandbox Code Playgroud)
或者我们指定的任何其他分组。是否可以为此创建一个函数,同时牢记我们需要的分组?谢谢
您可以使用zip():
>>> for i, j in zip(string, string[1:]):
... print(i+j)
...
ab
bc
cd
de
ef
fg
gh
Run Code Online (Sandbox Code Playgroud)
作为一个函数:
def func(seq, n):
return [''.join(item) for item in zip(*[seq[n:] for n in range(n)])]
Run Code Online (Sandbox Code Playgroud)
例子:
>>> for item in func("abcdefgh", 3):
... print(item)
...
abc
bcd
cde
def
efg
fgh
Run Code Online (Sandbox Code Playgroud)