Ned*_*der 23
由于您希望以不寻常的方式进行迭代,因此生成器是一种抽象的方法:
def chunks(s, n):
"""Produce `n`-character chunks from `s`."""
for start in range(0, len(s), n):
yield s[start:start+n]
nums = "1.012345e0070.123414e-004-0.1234567891.21423"
for chunk in chunks(nums, 12):
print chunk
Run Code Online (Sandbox Code Playgroud)
生产:
1.012345e007
0.123414e-00
4-0.12345678
91.21423
Run Code Online (Sandbox Code Playgroud)
(看起来不对,但那些是12个字符的大块)
J.J*_*.J. 14
你正在寻找字符串切片.
>>> x = "1.012345e0070.123414e-004-0.1234567891.21423"
>>> x[2:10]
'012345e0'
Run Code Online (Sandbox Code Playgroud)
line = "1.012345e0070.123414e-004-0.1234567891.21423"
firstNumber = line[:12]
restOfLine = line[12:]
print firstNumber
print restOfLine
Run Code Online (Sandbox Code Playgroud)
输出:
1.012345e007
0.123414e-004-0.1234567891.21423
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
step = 12
for i in range(0, len(string), 12):
slice = string[i:step]
step += 12
Run Code Online (Sandbox Code Playgroud)
这样,在每次迭代中,您将获得 14 个字符的切片。