我追求的是:而不是像这样的列表输出:
['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))))
