我正在进行二十一点游戏,需要收集玩家拥有的所有牌的得分。当我使用以下代码时,我得到了不可用的类型:' list'错误。
卡片是一本字典,用于存放所有卡片及其各自的二十一点积分,以及一个用于保存玩家卡片的字典(因为它们是卡片词典中的键。
score = cards[list(p.values())]
非常感谢任何有关如何做到这一点的帮助。
答案 0 :(得分:2)
该错误意味着python中的列表不能用作字典键。
您想要的是访问该列表中每个元素的字典值,因此请尝试使用列表推导。
score = sum(cards[c] for c in p.values())
答案 1 :(得分:1)
列表永远不能成为字典的关键。
答案 2 :(得分:1)
您收到该错误只是因为您尝试使用public class Theater {
String theaterName;
ArrayList<Movies> movies;
}
作为字典键,这在Python中是禁止的。 [知道为什么要看@SyntaxError答案]
尝试使用代码代替您的代码
list