如何从python中的打印输出中删除字符

suk*_*vir 3 python list python-3.x

我试图从另一个print语句中删除我的print语句中打印出的额外字符.

这是我的代码的样子:

print(addedlist)  #addedlist = [9,5,1989,1,2,3,4,5,6,7,8,9]

for x in range(0, len(addedlist)):
    print('%d->'%addedlist[x],end="")

print('\n')
Run Code Online (Sandbox Code Playgroud)

这个输出看起来像这样:

[9, 5, 1989, 1, 2, 3, 4, 5, 6, 7, 8, 9]
9->5->1989->1->2->3->4->5->6->7->8->9->  
Run Code Online (Sandbox Code Playgroud)

我想删除最后的->字符.我试过做:

print(addedlist)  #addedlist = [9,5,1989,1,2,3,4,5,6,7,8,9]

for x in range(0, len(addedlist)):
     print('%d->'%addedlist[x],end="")

print('\b\b\n')
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我将如何实现这一目标?

编辑:

只是一些澄清,我知道我可以更改我的原始打印语句,以更正确地打印它以避免尾随->...我正在解决如何删除尾随' - >'一旦错误已经完成

Gri*_*han 5

我注意到你想玩'回车'命令.首先,您需要学习两者'\b'(将活动位置移动到前一个位置)和'\r'(将活动位置移动到行的开头)适用于当前活动行.
我认为你正在研究命令行解释器; 您明确按Enter键进入下一行.
在命令行解释器上使用; 如下:

>>> print("abb", end=""); print("\b\bcc")
acc
>>> print("a->", end=""); print("\b\b  ")
>>> a
Run Code Online (Sandbox Code Playgroud)

如果您使用的是某些脚本,那么您的代码应该可以运行,请参阅

Upload$ cat s.py
print ("abcd->", end="")
print ("\b\b  ")
Upload$ python3.2 s.py
abcd    # notice -> is removed  
Run Code Online (Sandbox Code Playgroud)

但这并没有太多用处,正确的方法就是A win winiचhaudhary在他的回答中所表明的.

编辑:我发现你在代码中犯了错误

   print('%d->' % addedlist[x], end="")    
print('\b\b\n')
Run Code Online (Sandbox Code Playgroud)

您可以使用'\b'将活动位置移动到上一个位置,但是不要覆盖"->",只需'\n'将移位光标输出到下一行,您应该如下修改代码.

  print('%d->' % addedlist[x], end="")    
print('\b\b   \n')
 #         ^^^^  /b then overwrite with spaces 
Run Code Online (Sandbox Code Playgroud)

在Linux shell上运行$ python scriptname.py(对于命令行Python的解释器,您可以使用类似我编写的代码,只需要播放,使用str.join或使用sep参数print()).