You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3列表操作后整数列表出现多余空格的原因及解决

问题

执行以下Python代码:

num = [100,1,82,-1]
print(sorted(num))

实际输出为:[-1, 1, 82, 100],但需求输出是:[-1,1,82,100]。

疑惑点:Python各类列表操作(如extend()、sort()、列表加法等)都会导致输出时元素间出现多余空格,目前这个问题已经导致LeetCode提交被拒,求解决办法。

解答

原因说明

你看到的空格和列表操作本身无关——extend()、sort()这类方法只负责修改列表内容,元素间的空格是Python列表默认的字符串表示(由列表的__str__方法生成)自带的格式,属于语言内置的输出规范。

解决方法

如果需要生成无空格的目标格式字符串,可以手动拼接:

num = [100,1,82,-1]
sorted_num = sorted(num)
# 把每个元素转成字符串,用逗号连接后包裹方括号
result = f"[{','.join(map(str, sorted_num))}]"
print(result)  # 输出:[-1,1,82,100]

解释:

  • map(str, sorted_num):将排序后的列表中每个元素转换为字符串类型
  • ','.join(...):用无空格的逗号把所有字符串元素连接起来
  • 最后用f-string包裹方括号,得到符合要求的格式

另外提醒:LeetCode大部分题目要求的是返回列表对象而非打印字符串,如果你的提交是因为打印格式被拒,大概率是误解了题目要求——应该直接返回sorted(num)这类列表,而不是打印它的字符串形式。只有当题目明确要求输出特定格式的字符串时,再用上面的拼接方法。

内容的提问来源于stack exchange,提问作者Shashank Priyadarshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:36:22