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

如何消除Python循环打印列表唯一值时末尾的逗号

解决Python打印唯一值列表时末尾出现逗号的问题

你的问题出在循环打印每个唯一值时,不管是不是最后一个元素都加了逗号,这里给你几个实用的解决办法:

方法一:用字符串拼接最简洁(推荐)

直接把唯一值列表用", ".join()方法拼接成一个完整的字符串,一次性打印,从根源上避免末尾逗号的问题。同时提取唯一值的逻辑也可以按需优化:

保持原列表顺序的版本

def unique(list1):
    unique_values = []
    for u in list1:
        if u not in unique_values:
            unique_values.append(u)
    # 用", "连接所有元素,直接打印
    print(", ".join(unique_values))

wells = ["U1", "U1", "U3", "U3", "U3", "U5", "U5", "U5", "U7", "U7", "U7", "U7", "U7", "U8", "U8"]
print("The unique values from list are...:", end=" ")
unique(wells)

简化提取唯一值的版本(Python3.7+保持顺序)

如果用Python3.7及以上版本,可以用dict.fromkeys()快速提取有序的唯一值,代码更简洁:

def unique(list1):
    # dict.fromkeys会自动去重且保留原列表顺序
    unique_values = list(dict.fromkeys(list1))
    print(", ".join(unique_values))

wells = ["U1", "U1", "U3", "U3", "U3", "U5", "U5", "U5", "U7", "U7", "U7", "U7", "U7", "U8", "U8"]
print("The unique values from list are...:", end=" ")
unique(wells)

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

如果一定要保留循环打印的逻辑,可以通过索引判断当前元素是不是列表的最后一个,是的话就不加逗号:

def unique(list1):
    unique_values = []
    for u in list1:
        if u not in unique_values:
            unique_values.append(u)
    # 用enumerate同时获取索引和元素
    for idx, u in enumerate(unique_values):
        if idx != len(unique_values) - 1:
            print(u, end=", ")
        else:
            print(u)

wells = ["U1", "U1", "U3", "U3", "U3", "U5", "U5", "U5", "U7", "U7", "U7", "U7", "U7", "U8", "U8"]
print("The unique values from list are...:", end=" ")
unique(wells)

方法三:拆分打印前n-1个元素和最后一个元素

先打印除最后一个外的所有元素(每个后面加逗号),再单独打印最后一个元素,也能避免末尾逗号:

def unique(list1):
    unique_values = []
    for u in list1:
        if u not in unique_values:
            unique_values.append(u)
    if unique_values:  # 先判断列表非空,防止索引越界
        # 打印前n-1个元素
        for u in unique_values[:-1]:
            print(u, end=", ")
        # 打印最后一个元素
        print(unique_values[-1])

wells = ["U1", "U1", "U3", "U3", "U3", "U5", "U5", "U5", "U7", "U7", "U7", "U7", "U7", "U8", "U8"]
print("The unique values from list are...:", end=" ")
unique(wells)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:40:30