我目前正在尝试编写一个解析xml文件的函数。但我遇到了麻烦,我想知道是否有可能回到我已经离开的印刷线。
说我有字符串“基督是我的摇滚”,是否可以制作如下的输出
Crsimrc
hitsyok
也许我可能不得不以另一种方式处理我的问题,但同时我想知道这样的事情是否真的可能。
答案 0 :(得分:0)
我不确定你要做什么,但如果你的目标是打印某种报告,一种自然的方法就是使用一个字符串列表,每行1个字符串。如果字符串列表被调用lines
,那么使用print(s)
代替lines.append(s)
lines.append(str(s))
如果s
不是字符串。完成后,加入在'\n'
。
>>> lines = []
>>> lines.append('cat')
>>> lines.append('dog')
>>> print(''.join(lines))
catdog
您可以修改早期字符串,例如追加到他们的最后。例如, 如果要将字符拆分为不同的行,请执行以下操作:
>>> lines = ['','']
>>> s = 'this is a test'
>>> for i,c in enumerate(s):
lines[i%2] += c
>>> print('\n'.join(lines))
ti sats
hsi et
由于字符串是不可变的,如果要对前一行的各个字符进行大量更改,这种使用字符串列表的方法可能效率低下。对该想法的修改是将lines
作为列表列表,其中每个内部列表是单字符串的列表。最终结果将是一个锯齿状的字符数组。 <{1}}将替换为
print(s)
当你有你想要的东西时,你可以通过以下方式打印出来:
lines.append(list(s))
如果由于某种原因你不想等到你的线完全组装后再打印它们,而是想看到以前的线被主动修改,考虑使用print('\n'.join(''.join(line) for line in lines))
等Tkinter
的GUI解决方案text box
1}}小部件。