Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Pythonのリストにdict型の変数をappendすると変数がポインタ的に振る舞うので…
リストに複数のdictをappendしようとすると下のように書いた場合、追加したすべてのdict型の変数が同じ値になる。
mylist = []
mydict = {}
for i,v in enumerate(items):
mydict['name'] = v
mydict['value'] = i
mylist.append(mydict)
この場合dict.copy()を使うと適切な結果になる。
for i, v enumerate(items):
mydict['name'] = v
mydict['value'] = i
mylist.append(mydict.copy())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.