根据每个比赛结果附加位置

2024-09-19 23:32:38 发布

您现在位置:Python中文网/ 问答频道 /正文

在这里,我可能完全不知道该怎么做,但基本上,我首先需要为一个种族创建一个名称字典,其中包含空的值列表。你知道吗

contestants = {[("Alice", []),("Dennis", []), ("Bob", []), ("Eva", []), ("Clare", [])]}

我想我就是这么做的

然后我需要能够将值附加到空列表中,并根据总得分对位置进行排序。你知道吗

{'Dennis': [4, 4, 4, 4, 4, 5], 'Alice': [2, 2, 2, 1, 1, 2], 'Bob': [3, 3, 3, 3, 2, 1], 'Eva': [5, 5, 5, 5, 3, 3], 'Clare': [1, 1, 1, 2, 5, 4]}

以上是每个球员的得分,也为他们排序。你知道吗

def seriesscores(racescores):
contestants = {[("Alice", []),("Dennis", []), ("Bob", []), ("Eva", []), ("Clare", [])]}
contestants.append(racescores[1])
return contestants

我目前正在测试上面的代码,它一直显示如下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in seriesscores
TypeError: unhashable type: 'list'

我现在只想找到一种将分数附加到空列表的方法,我想我可以用下面的代码对它进行排序:

return sorted(contestants, key=lambda x: (sum(x[1])))

我走对了吗?你知道吗


Tags: 代码列表return排序stdinlinefilebob
1条回答
网友
1楼 · 发布于 2024-09-19 23:32:38

试试这个:

contestants = {"Alice": [], "Dennis": [], "Bob": [], "Eva": [], "Clare": []}

而不是这样:

contestants = {[("Alice", []),("Dennis", []), ("Bob", []), ("Eva", []), ("Clare", [])]}

另外,racescores参数中到底是什么?我猜你可能想这样做:

for key, value in enumerate(racescores):
    contestants[key] += value

但是我猜如果没有racescores中的数据格式,我真的帮不了你更多。你知道吗

相关问题 更多 >