将列表打印为字符串不会打印所有值

时间:2013-10-20 14:31:17

标签: python

我试图在Python中将整数列表打印为字符, 但是当我尝试打印它时,前几个值正在丢失,

以下是发生的事情,

S = [55, 58, 5, 13, 14, 12, 22, 20, 70, 83, 90, 69, 84, 91, 80, 91]
# Now create an empty String,
D = ""
for i in S:
    D += chr(i)

D = ', '.join(map(str, D))
print(D)

最终输出是,

, ♫, ♀, ▬, ¶, F, S, Z, E, T, [, P, [

显然,chr55 , 58, 5的{​​{1}}值未打印

这是未打印的值,

13

7:♣ 的{​​{1}}值可能是空格或输入键。这只是我的猜测,因为当我打印chr时,没有任何显示。 但是为什么它也会删除前三个值。 ?

但是,如果我应用条件,

13

代码打印所有值,

chr(13)

1 个答案:

答案 0 :(得分:8)

Ascii 13是回车(\r,输入密钥)。在类型编写器中,它将光标返回到行的开头,但它不会创建新行(\n),因此当您打印某些内容时,它会覆盖之前该行中的内容。看看这个:

for i in range(10):
    print("\r%d" % i, end="")
    sleep(1)

额外信息:在基于Unix的系统上,\n表示回车和新行,但在Windows系统上,您应指定新行(\n)和回车符(\r)明确。这就是为什么在基于Unix的系统上创建的文本文件在Windows上看起来像是一条很长的连续线。