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

如何实现无空格逗号分隔且大括号包裹的Python集合打印?

解决Python打印无空格逗号分隔、两侧带大括号的集合内容问题

问题描述

现有代码:

x = [1,3,6,7]
x = set(x)
print('{', *x, "}", sep=',')

输出结果为:

{,1,3,6,7,}

期望输出格式:

{1,3,6,7}

解决方法

方法1:使用f-string拼接(推荐)

将集合元素转为字符串后用逗号连接,再通过转义的大括号包裹:

x = [1,3,6,7]
x_set = set(x)
print(f"{{{','.join(map(str, x_set))}}}")

方法2:利用集合的字符串表示替换空格

集合默认的字符串格式是{1, 3, 6, 7},直接去掉其中的空格即可:

x = [1,3,6,7]
x_set = set(x)
print(str(x_set).replace(' ', ''))

方法3:字符串直接拼接

把元素连接成逗号分隔的字符串,再手动拼接前后大括号:

x = [1,3,6,7]
x_set = set(x)
print('{' + ','.join(map(str, x_set)) + '}')

原代码问题原因

原代码中print('{', *x, "}", sep=',')会把{、集合的每个元素、}作为独立参数传入print,sep参数会在所有参数之间添加逗号,因此出现了开头{后和结尾}前的多余逗号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:22:14