Python - 字典打印密钥的次数与其值相同

时间:2014-09-22 16:22:59

标签: python dictionary key

我想打印出我的字典中的所有字母(在我的代码的最后一行看到)问题是输出现在是 aqlmui 。但是,你们可以看到我的字典中的l值为2,所以我想打印出2次。所以我的程序输出应该是:aqllmui。

帮助将非常感激! :)

def display_hand(hand):

    row = ''
    for letter in hand:
        row += letter

       #I think i need to put an if statement here but I just don't know how to do it

    print row


display_hand({'a':1, 'q':1, 'l':2, 'm':1, 'u':1, 'i':1})

3 个答案:

答案 0 :(得分:1)

只是这样做:

row += letter * hand[letter]

答案 1 :(得分:1)

您可以使用string / int multiplication来执行多个连接

for letter in hand:
    row += letter * hand[letter]

或者更清晰有效:

for letter, count in hand.iteritems():  # Use hand.items() in Python 3
    row += letter * count

答案 2 :(得分:1)

您也可以尝试print "".join(k*v for (k,v) in s.iteritems())

此处k*v for (k,v) in s.iteritems()会返回key*value的列表,例如["a","i","m","ll","q","u"]"".join(list)会加入该列表以制作字符串。