2017-03-28 9 views
0

私はあなたの電話の連絡先を管理するプログラムを構築しようとしています。あなたの連絡先を印刷したり、連絡先を検索したり、連絡先を追加したり、連絡先を削除したりすることができます。プログラムは、datファイルに格納されたデータに基づいて辞書を作成する必要があります。 -528-3280、JSMITH @ stern.nyu.edudatファイルから辞書を作成する

ジェーンドウ、347-238-3220、jgonzalezは@ stern.nyu.edu

....

これに基づき、私が欲しいですキーが名前を含む文字列であり、対応する値が[電話番号、電子メールアドレス]の2つの文字列を保持するリストである場合、Pythonで辞書を作成します。

ご協力いただければ幸いです。私はただのPythonを学び始め、全体のnoob午前取得しています:あなたは、行毎にファイルを読み込む3つのフィールドにそれぞれの行を分割し、辞書を作成することができます/

答えて

0

あなたが作ることができますさまざまな型の値を持つdictデータ構造を作成するためのコレクションからのPythonのdefaultdictの使用。

#!/usr/bin/python 

from collections import defaultdict 
from pprint import pprint 

store = defaultdict(list) 

with open('test.dat', 'r') as FH: 
    for file in FH.readlines(): 
     line = file.strip() 
     try: 
      name,phone,email = line.split(',') 
     except ValueError, err: 
      print "Record: ", line 
      raise Exception("Failed while unpacking. Not enough arguments to supply.") 
     store[name].extend([phone,email]) 

pprint(store) 

ここでは、それを行うサンプルを示します。

2

d = {} 
with open("mydatafilename", 'r') as f: 
    lines = f.readlines() 
    for line in lines: 
     fields = line.split(',') 
     d[fields[0]] = fields[1:] 
関連する問題