-2

各ループで一時辞書を作成し、それをリストに入れて、辞書のリストを作成したいと考えています。コードは次のとおりです。

dicts=[]
tempdic={}
for i in range(0, len(self.info)):
    tempdic.clear()
    tempdic['title']=str(self.info[i]['title'])
    tempdic['desc']=str(self.info[i]['desc'])
    dicts.append(tempdic)

問題は、各ループで tempdic を変更すると、dicts(list) の内容もそれに合わせて変更されるため、最後に、すべて同じ内容の複数の dict を含むリストが作成されることです。

4

4 に答える 4

3

ループで同じオブジェクトをリセットdictし、リストに参照を追加しています。dict反復ごとに新しいオブジェクトを作成する必要があります。

for i in range(0, len(self.info)):
    tempdic = dict()
于 2013-10-13T18:29:43.777 に答える