2016-10-21 17 views
0

私はPythonの学習を始めました。私は質問があります。リストがあり、それを辞書に変換したいのですが。どのように可能ですか?私は多くの人のオブジェクトを作成し、リストに追加した辞書へのPythonリスト

Person (name, surname, age, country) 

は例えば、私はクラスを持っています。しかし、リストの検索には時間がかかりますので、辞書を作成します。この人物リストを辞書に変換するにはどうすればいいですか?

おかげ

+0

辞書はキーと値のマッピングです。つまり、辞書から値を取得する場合は、キーを与え、値を取得します。あなたの辞書の鍵は何ですか? –

答えて

5

使用dict comprehension

# Assusming "person_list" is your list of "Person" objects 
name_to_person = { p.name: p for p in person_list } 

使用法:

george_details = name_to_person['George'] 
print "George is %d years old"%(george_detals.age) 

もちろん、あなたがPersonのメンバーにあなたの鍵を制限する必要はありません。あなたは、たとえば、namesurnameの組み合わせによって調べたい場合:

fullname_to_person = { p.name + ' ' + p.surname: p for p in person_list } 
+0

私はすべての名前、姓、年齢を辞書に設定する必要があります。 この場合、名前だけがありますか? – Soulmaster

+0

辞書はキーを値にマップします。この場合、キーは名前になります。値は人になります。 '' George ''、 'Jones'、81、 'US') ' –

+0

@Soulmasterいいえ、オブジェクト全体が辞書にあります値。オブジェクトを名前で取得し、すべての属性にアクセスできます – brianpck