我是什么后:的而不是像这样的列表输出:
['test1', 'test2', test3']
删除括号[]从列表(同时与关键排序)
我会希望它的输出是这样的:
test1 | test2 | 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)))
如此明显的上面让你只能有1。加入参数:join() takes exactly one argument (2 given)
所以我删除了NAAM | CSGO部分测试一下:
print(", ".join(sorted(deelnemers, key=keyCSGO, reverse=True)))
,但现在我得到这个异常:sequence item 0: expected str instance, Deelnemer found
我觉得我是找错了方向,所以我不知道在哪里看有[“” ]从列表中删除。感谢您的帮助和建议。
附注:您不需要为简单的属性查找编写自己的函数。 'from operator import attrgetter',然后用'key = attrgetter('csgo')'替换'key = keyCSGO'。推动更多的工作到C层,更灵活(通过第二个字段进行排序,使其成为'attrgetter('csgo','secondattrname')')等。 – ShadowRanger