Python 3词典的值

问题描述 投票:0回答:3

我正在进行二十一点游戏,需要收集玩家拥有的所有牌的得分。当我使用以下代码时,我得到不可用的类型:'list'错误。

卡片是一本字典,用于存放所有卡片及其各自的二十一点点数,以及一个保存球员卡片的字典(因为它们将成为卡片词典中的键。

score = cards[list(p.values())]

任何有关如何做到这一点的帮助将不胜感激。

python dictionary
3个回答
2
投票

该错误意味着python中的列表不能用作字典键。

你想要的是访问该列表的每个元素的字典值,所以尝试使用列表理解。

score = sum(cards[c] for c in p.values())

1
投票

列表永远不会是字典的关键。

Why Lists Can't Be Dictionary Keys


1
投票

你得到这个错误只是因为你试图使用list作为字典键,这是Python中禁止的。 [知道为什么看@SyntaxError答案]

尝试使用代码而不是你的代码

score = sum(cards[value_of_p] for value_of_p in p.values())
© www.soinside.com 2019 - 2024. All rights reserved.