2017-04-25 10 views
0

名前を含むファイルを読み込み、スペースで区切られた複数の数字を含む関数があります。名前を1つの文字列にし、すべての数字を別の文字列に解析し、辞書に入れます(名前をキーとして)。私は、次のコードを書かれている:辞書に数字の文字列を割り当てるときにスローされるPythonの例外「あまりにも多くの解凍」

def read_users (user_file): 
    try: 
     file_in = open(user_file) 
    except: 
     return None 
    user_scores = {} 
    for line in file_in: 
     temp_lst = line.strip().split(' ', 1) 
     user_scores = [temp_lst[0]] = temp_lst[1] 
    return user_scores 

は、これは私が必要なすべてを行うように見えるが、それは辞書にそれを置くときには、「解凍するにはあまりにも多くの値」例外がスローされます。私は、キーとなる名前の文字列と数値の束を持つ文字列を辞書に渡す必要があると思うので、なぜこれがスローされるのか混乱しています。次のように、入力ファイルの行がフォーマットされている重要だ場合 は:

ベン1 0 2 3 4 -2 5 6 6 1

I辞書に渡す前に、私は、リストを印刷しようとしていると次のように表示されます。

[ 'ベン'、 '1 0 2 3 4 -1 5 5 6 6 1']

誰もが任意のアイデアがありますか?ありがとう!

+2

user_scores [temp_lst [0]] = temp_lst [1] – Hooting

+0

辞書を作成する方法が正しくありません。あなたは長さ1の配列を作っています。 – Bey

答えて

1
#I think the way you construct the dictionary is not quite right. Try below code to see if it works. 
user_scores[temp_lst[0]] = temp_lst[1] 
+0

ありがとう@Bey。コードを更新しました。 – Allen

+0

Doh!うん、それは問題だった。ありがとう! –

+0

心配はいりません。他の人がこれをクリックして再度答えさせないように答えとして受け入れてください。 – Allen

関連する問題