Python 将列表打印为字符串不会';不要打印所有的值
我试图在Python中将整数列表打印为字符, 但当我试图打印它时,前几个值丢失了 这就是正在发生的事情Python 将列表打印为字符串不会';不要打印所有的值,python,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,
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, [
显然,55、58、5和13的chr
值没有打印出来
这是未打印的值
7:♣
13
的chr
值可能是空格键或回车键。这只是我的猜测,因为当我打印chr(13)
时,没有显示任何内容。
但为什么它也要删除前三个值呢
但是,如果我应用这个条件
if i == 13:
i = i-1
代码会打印所有的值
7, :, ♣, ♀, ♫, ♀, ▬, ¶, F, S, Z, E, T, [, P, [
Ascii 13是回车(\r
,输入键)。就像在TypeWriter中一样,它将光标返回到行的开头,但不会创建新行(\n
),因此当您打印某个内容时,它会覆盖该行之前的内容。看看这个:
for i in range(10):
print("\r%d" % i, end="")
sleep(1)
额外信息:在基于Unix的系统上,\n
表示回车和换行,但在Windows系统上,应明确指定换行(\n
)和回车(\r
)。这就是为什么在基于Unix的系统上创建的文本文件在Windows上看起来像一条连续的长线。我应该应用什么条件使其可逆?例如,如果我设置if(i==13):i=12,那么当我应用反向算法并写入时,如果i==12:i=13,那么值为12的其他字符也将变为13。不要尝试打印此行,而是使用repr<代码>打印(repr(“,”).join(map(str,map(chr,S‘‘‘)))
谢谢它的工作原理,但是如何反转它呢?我的意思是如何再次打印它们的等效整数值?请看ord
函数。下面是ASCII表的一个示例。从这里,您可以看到打印出一些其他字符值时可能会遇到问题。