簡體   English   中英

Python - 字典打印與他的值一樣多的鍵

[英]Python - dictionary print the key as many times as his value

我想打印出字典中的所有字母(在我的代碼的最后一行中看到),問題是現在輸出是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})

您也可以嘗試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)將加入該列表以生成一個字符串。

做就是了:

row += letter * hand[letter]

您可以使用 string/int 乘法來執行多個串聯

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

或者更清楚、更有效:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM