我是什麼後:的而不是像這樣的列表輸出:
['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