名前を含むファイルを読み込み、スペースで区切られた複数の数字を含む関数があります。名前を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']
誰もが任意のアイデアがありますか?ありがとう!
user_scores [temp_lst [0]] = temp_lst [1] – Hooting
辞書を作成する方法が正しくありません。あなたは長さ1の配列を作っています。 – Bey