我想要的是:而不是像这样的列表输出:['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)))
很明显,上面给出的结果是,只有一个参数与.join: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
我想我看错了方向,所以我不确定从列表中删除[''''的位置。谢谢你的帮助和建议。你知道吗
使用
str.join
的另一种方法是让print
为您做更多的工作;很高兴字符串化并插入分隔符:您只能连接字符串,因此您可能需要在排序后访问每个实例的
name
属性(假设它是什么),以便在join
中使用它们:您还可以在加入之前使用字符串格式(credits@Tadhg)将属性放入字符串中:
str.join
只能连接字符串。希望Deelnemer
类定义了__str__
方法,然后您可以执行以下操作:相关问题 更多 >
编程相关推荐