我想打印出我的字典中的所有字母(在我的代码的最后一行看到)问题是输出现在是 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})
答案 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)
会加入该列表以制作字符串。