私は辞書のリストを持っています。リストにリストがない場合は、そのリストに辞書を追加したいと思います。リストにユニーク辞書を追加する
listofdictionary= []
newdictionary = {'Id': '001', 'Name': 'book title'}
for mydict in self.listofdictionary:
if mydict['Id'] == newdictionary['Id']:
print("Match for {0}".format(neworder['Title']))
elif mydict['Id'] != newdictionary['Id']:
self.listofdictionary.append(newdictionary)
しかし、私は2番目を追加する場合は、第3及び第4の辞書エントリ私は
for mydict in self.listofdictionary:
print("{0}".format(mydict))
{'Id': '001', 'Title': 'book title'}
{'Id': '002', 'Title': 'book title'}
{'Id': '002', 'Title': 'book title'}
{'Id': '003', 'Title': 'book title'}
{'Id': '003', 'Title': 'book title'}
{'Id': '003', 'Title': 'book title'}
{'Id': '004', 'Title': 'book title'}
{'Id': '004', 'Title': 'book title'}
{'Id': '004', 'Title': 'book title'}
{'Id': '004', 'Title': 'book title'}
おかげで、
ジョン...で終わります。
あなたは 'id'だけを比較するので、ディクショナリの辞書を作成して、それぞれの辞書にIDをマッピングしてみてはいかがですか?そして、すべてのdictsがIDと名前だけを持っているならば、idとkeyを値として使って、ちょうど1つのdictを使うこともできます。 –
おそらく8-10のフィールドがディクテーションにあり、リストには数千ものフィールドがある可能性があります。時間の経過とともに、ディクテーションの他の部分を比較したいと思います。著者、主題などのように。 – John
セットを作成します。リストに辞書を追加するたびに、 '' 'ID'''をセットに追加します。辞書チェックを追加して '' 'ID''がセットに含まれているかどうかを調べる前に、@tobias_kが最良の方法を述べました。 – wwii