Python中如何移除列表字符串表示中的空格?
问题
原Python代码如下:
def addToArrayForm(num,k): num_string = "" answer = [] for n in num: num_string += str(n) num_string = int(num_string) + k # This is an integer for i in str(num_string): answer.append(int(i)) print(answer) addToArrayForm([1,2,0,0], 34)
运行后输出为 [1, 2, 3, 4],需要将输出改为 [1,2,3,4](移除元素之间的空格)。
解决方案
提供两种简单的实现方式:
方法1:手动构造目标格式字符串
替换原代码中的print(answer)为以下代码:
print(f"[{','.join(map(str, answer))}]")
原理:
map(str, answer)将列表内的每个整数转为字符串','.join(...)用无空格的逗号连接所有字符串元素- 最后通过f-string给拼接结果加上首尾方括号,得到目标格式
方法2:利用字符串替换去除空格
替换原代码中的print(answer)为以下代码:
print(str(answer).replace(' ', ''))
原理:
str(answer)将列表转为默认带空格的字符串格式.replace(' ', '')把字符串内所有空格替换为空
修改后的完整代码示例(以方法1为例)
def addToArrayForm(num,k): num_string = "" answer = [] for n in num: num_string += str(n) num_string = int(num_string) + k # This is an integer for i in str(num_string): answer.append(int(i)) print(f"[{','.join(map(str, answer))}]") addToArrayForm([1,2,0,0], 34)
运行后输出为 [1,2,3,4]
内容的提问来源于stack exchange,提问作者Bazargan_Dev
相关产品推荐
相关产品推荐

