字典 - 将随机密钥与各自的值进行匹配

时间:2014-12-11 13:58:22

标签: python python-3.x dictionary

facevalue={'A':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'10':10,'J':10,'Q':10,'K':10}
deck = [key for key in self.facevalue.keys()]*4
card_values = [value for value in self.facevalue.values()]*4

这是一张卡片,即二十一点卡片。 需要帮助来定义hand_value函数。

import random
shuffled_deck = random.sample(deck, len(deck))

当我弹出两张牌时,我如何获得相应的值?问题是在洗牌后密钥和值不再在一起。说

def hand_value():
    hand = []
    for i in range(2):
        hand.append(shuffled_deck.pop())
    score = ???
    return score

hand[0]hand[1]对应的值是什么?

让我重新说一下 - 在分解字典之后,有没有办法将以前的密钥与其对应的值匹配?

1 个答案:

答案 0 :(得分:2)

deck仅包含密钥;要获得匹配的面值,只需再次查找它们:

[facevalue[card] for card in hand]

这会产生一个拾取手的值列表;您还可以使用sum()和生成器表达式来生成它们的总数:

score = sum(facevalue[card] for card in hand)