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

Python打印字符串列表时如何去除末尾多余的逗号?

如何去除Python输出末尾的多余逗号?

问题代码

houses = ['C', 'D', 'H', 'S']
ranks = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']
deck = []

for house in houses:
    for rank in ranks:
        deck.append(f"{rank}-{house}")

for i in range(13):
    print(deck[i], end=",")

期望输出

A-C,2-C,3-C,4-C,5-C,6-C,7-C,8-C,9-C,10-C,J-C,Q-C,K-C

实际问题

运行上述代码后,输出末尾会多一个不必要的逗号:

A-C,2-C,3-C,4-C,5-C,6-C,7-C,8-C,9-C,10-C,J-C,Q-C,K-C,

解决方法

方法1:用str.join()拼接后打印

这是最简洁的方式,直接将目标元素用逗号连接成单个字符串再输出,不会产生末尾多余符号:

houses = ['C', 'D', 'H', 'S']
ranks = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']
deck = []

for house in houses:
    for rank in ranks:
        deck.append(f"{rank}-{house}")

# 取前13个元素,用逗号连接后打印
print(','.join(deck[:13]))

方法2:循环内判断是否为最后一个元素

通过索引判断当前元素是不是最后一个,仅在非末尾元素后添加逗号:

houses = ['C', 'D', 'H', 'S']
ranks = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']
deck = []

for house in houses:
    for rank in ranks:
        deck.append(f"{rank}-{house}")

for i in range(13):
    if i == 12:  # range(13)的最后一个索引是12
        print(deck[i], end="")
    else:
        print(deck[i], end=",")

方法3:利用print()的sep参数

将目标元素解包后传入print(),用sep指定分隔符,天然不会在末尾生成多余符号:

houses = ['C', 'D', 'H', 'S']
ranks = ['A','2','3','4','5','6','7','8','9','10','J','Q','K']
deck = []

for house in houses:
    for rank in ranks:
        deck.append(f"{rank}-{house}")

# 解包前13个元素,用逗号分隔输出
print(*deck[:13], sep=",")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:20:18