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

如何在单循环中遍历列表打印元素并去除末尾逗号(不用join)

解决循环打印逗号分隔元素时的末尾逗号问题

给你几个只用循环实现的方案,都能去掉多余的末尾逗号:

方案一:先打第一个元素,后续元素前置逗号

思路是先输出第一个元素(不带前置逗号),之后的每个元素都先输出, 再输出元素,从根源上避免末尾出现逗号:

grades = [['A1', 12], ['A2', 18], ['A3', 20], ['A4', 19]]

# 先判断列表非空,防止空列表时索引报错
if grades:
    # 打印第一个元素,不添加末尾符号
    print(grades[0][0], end='')
    # 遍历从第二个开始的所有元素
    for item in grades[1:]:
        # 先输出逗号加空格,再输出元素
        print(', ' + item[0], end='')
# 最后换行,让输出更规范
print()

运行结果:

A1, A2, A3, A4

方案二:判断当前元素是否为最后一个

通过enumerate获取元素的索引,每次打印时判断是不是最后一个元素:如果是就直接打印,不是就带, 结尾:

grades = [['A1', 12], ['A2', 18], ['A3', 20], ['A4', 19]]

for idx, item in enumerate(grades):
    if idx == len(grades) - 1:
        # 最后一个元素,直接打印,不带结尾符号
        print(item[0], end='')
    else:
        # 非最后一个元素,结尾用逗号加空格
        print(item[0], end=', ')
print()

运行结果和上面一致。

方案三:循环拼接字符串后打印

先通过循环把所有要输出的元素拼接成完整字符串,最后一次性打印,本质是用循环模拟join的逻辑:

grades = [['A1', 12], ['A2', 18], ['A3', 20], ['A4', 19]]

result = ''
for idx, item in enumerate(grades):
    if idx == 0:
        result += item[0]
    else:
        result += ', ' + item[0]
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:46:02