在循环中将字符串分组为3(python)
我有一个九个字符的字符串,需要在循环中对三个字符的组执行操作 如何在python中实现这一点?最简单的方法:在循环中将字符串分组为3(python),python,loops,Python,Loops,我有一个九个字符的字符串,需要在循环中对三个字符的组执行操作 如何在python中实现这一点?最简单的方法: >>> s = "123456789" >>> for group in (s[:3], s[3:6], s[6:]): print group ... 123 456 789 在更一般的情况下,请查看:最简单的方法: >>> s = "123456789" >>> for group in (s[:3], s[3
>>> s = "123456789"
>>> for group in (s[:3], s[3:6], s[6:]): print group
...
123
456
789
在更一般的情况下,请查看:最简单的方法:
>>> s = "123456789"
>>> for group in (s[:3], s[3:6], s[6:]): print group
...
123
456
789
在更一般的情况下,请看:可能是这样的
>>> a = "123456789"
>>> for grp in [a[:3], a[3:6], a[6:]]:
print grp
当然,如果你需要概括
>>> def split3(aString):
while len(aString) > 0:
yield aString[:3]
aString = aString[3:]
>>> for c in split3(a):
print c
也许是这样的
>>> a = "123456789"
>>> for grp in [a[:3], a[3:6], a[6:]]:
print grp
当然,如果你需要概括
>>> def split3(aString):
while len(aString) > 0:
yield aString[:3]
aString = aString[3:]
>>> for c in split3(a):
print c
或者你可以使用itertools
import itertools
def grouper(n, iterable):
args = [iter(iterable)] * n
return itertools.izip_longest(*args)
for i in grouper(3,"o my gosh"):
print i
输出
$ ./python.py
('o', ' ', 'm')
('y', ' ', 'g')
('o', 's', 'h')
或者你可以使用itertools
import itertools
def grouper(n, iterable):
args = [iter(iterable)] * n
return itertools.izip_longest(*args)
for i in grouper(3,"o my gosh"):
print i
输出
$ ./python.py
('o', ' ', 'm')
('y', ' ', 'g')
('o', 's', 'h')
+我喜欢更清晰的胸部,但这是个人品味的问题。+1在上弦时不会比在上弦时看起来更好。
可能:-)我更喜欢更清晰的胸部,但这是个人品味的问题。+1在上弦时不会比在上弦时看起来更好。可能:-)我更喜欢更清晰的胸部,但这是个人喜好的问题。-1:这不会像预期的那样适用于所有字符串:textwrap.wrap(“我是sam!”,3)=[“我”、“是”、“sam',!”]-1:这不会像预期的那样适用于所有字符串:textwrap.wrap(“我是sam!”,3)=[“我”、“是”、“sam',!”