scrabble_scores = [(1, "EAOINRTLSU"), (2, "DG"), (3, "BCMP"),
(4, "FHVWY"), (5, "K"), (8, "JX"), (10, "QZ")]
def get_scrabble_scorer():
print {x:y for x,z in scrabble_scores for y in z}
pass
get_scrabble_scorer()
我期望输出:
[1:'E',1:'A,1:'O',1:'I'....]
这样分数就会映射到单词中的每个字母表上
但我得到了结果:
{1: 'U', 2: 'G', 3: 'P', 4: 'Y', 5: 'K', 8: 'X', 10: 'Z'}
帮帮我
您可以使用print命令将行更改为:
然后输出为:
你的理解列表中的逻辑很好。您可以通过更改
至
打印出来的
实现不起作用的原因是字典的每个键都必须是唯一的。因此,在设置
1:A
时,会覆盖1:E
的前一对key:value
。你知道吗也许你在找那封信作为钥匙?如果是这样,那么就交换x和y:
你需要切换字典,所以键是字母,值是分数。Python中的字典不能有重复的键。你知道吗
这也是你如何计算一个单词的分数,通过查找每个字母(而不是查找每个数字)。你知道吗
下面是如何使用上述映射:
相关问题 更多 >
编程相关推荐