我试图在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, [
显然,chr
和55 , 58, 5
的{{1}}值未打印
这是未打印的值,
13
7:♣
的{{1}}值可能是空格或输入键。这只是我的猜测,因为当我打印chr
时,没有任何显示。
但是为什么它也会删除前三个值。 ?
但是,如果我应用条件,
13
代码打印所有值,
chr(13)
答案 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上看起来像是一条很长的连续线。