如何将Python print函数中end=''的效果转化为变量存储?
解决整数列表转ASCII字符串并存储到变量的问题
嘿,我来帮你搞定这个需求!其实核心思路就是把每个整数对应的ASCII字符先收集起来,再拼接成完整的字符串,而不是直接打印输出。下面给你两种简单高效的实现方式:
方法一:用join + 生成器表达式(推荐)
这是最简洁且高效的写法,不需要额外创建中间列表,直接生成目标字符串:
a = [116, 101, 115, 116, 115, 116, 114, 105, 110, 103] result = ''.join(chr(num) for num in a) # 现在result就是你要的单行字符串,后续可以直接用它做任何操作 print(result) # 输出:teststring
方法二:沿用循环思路(更直观)
如果你想保留原来的循环逻辑,只需要初始化一个空字符串,每次循环把字符追加进去就行:
a = [116, 101, 115, 116, 115, 116, 114, 105, 110, 103] result = "" for num in a: result += chr(num) # 同样能得到目标字符串 print(result)
为什么你之前的rsplit和join没生效?
估计是你尝试去捕获print的输出再处理,但其实完全没必要绕这个弯——直接在生成字符的阶段就把它们拼接成字符串,才是最直接高效的方式。
内容的提问来源于stack exchange,提问作者Nero153
相关产品推荐
相关产品推荐

