2014-01-13 28 views
-2

給出評分列表:如何在python中爲下面的輸出重寫字典?

scores = [(1,"abc")] 
#newdict = { } 

我需要返回包含字母的得分映射,使這個assert語句返回True的字典:

for score, letters in scores: 
    for letter in letters: 
     assert score == new_dict.get(letter) 
+2

這不是字典在Python中的工作方式。你究竟在努力實現什麼? – senshin

+1

*旁白*:請勿指定變量'dict'(或'list'或'str'或其他內置類型名稱)。你的新名字隱藏了原來的意思。 –

+0

我不完全確定你想要完成什麼。你是否想要對字符串進行字符計數?嘗試類似'counts = {letter:0代表「ABCDEFGHIJKLMNOPQRSTUVWXYZ」中的字母}'然後'輸入input_string中的字母:如果計數中的字母爲:counts [letter] + = 1' –

回答

1

這樣做:

>>> scores = [(1,"abc")] 
>>> new_dict = dict() 
>>> for tup in scores: 
...  for key in tup[1]: 
...   new_dict.setdefault(key,tup[0]) 
>>> print(new_dict) 
{'a': 1, 'c': 1, 'b': 1}