Skip to main content
 首页 » 编程设计

python之从列表中删除方括号 [](同时使用键排序)

2025年05月04日24zengkefu

我追求的是:而不是像这样的列表输出:
['test1', 'test2', test3']

我希望它像这样输出:
测试 1 |测试2 | test3 或者这个也可以 test1, test2, test3

我的代码:现在是这样的:

deelnemers = [] 
# i add name, csgo and score to deelnemers[] via class Deelnemer 
    deelnemers.append(Deelnemer(naam, int(csgo), int(score))) 
 
    # key to sort it by csgo value 
    def keyCSGO(deelnemer): 
            return deelnemer.csgo 
 
    # i print it in reverse so the highest csgo number will be first 
    print("\nNaam | CSGO Score\n----------------\n", sorted(deelnemers, key=keyCSGO, reverse=True)) 

我尝试过的:

print(", ".join("\nNaam | CSGO Score\n----------------\n", sorted(deelnemers, key=keyCSGO, reverse=True))) 

很明显,上面给出了 .join 只能有 1 个参数:join() 只接受一个参数(给定 2 个)

所以我去掉了 naam | csgo部分进行测试:

print(", ".join(sorted(deelnemers, key=keyCSGO, reverse=True))) 

但现在我得到这个异常:序列项 0:预期的 str 实例,找到 Deelnemer

我想我看错了方向,所以我不确定要从列表中删除 [ '' ] 的位置。感谢您的帮助和建议。

请您参考如下方法:

str.join 只能连接字符串。希望 Deelnemer 类定义了一个 __str__ 方法,那么你可以这样做:

print("Naam | CSGO Score\n----------------") 
print(", ".join(map(str, sorted(deelnemers, key=keyCSGO, reverse=True))))