元の質問を簡略化しましたので、お役に立てれば幸いです
同じ長さのリストが 2 つあります:
idlist = [id1,id2,id3,id4,id5]
userlist = [name1,name2,name3,name4,name5]
次の形式で辞書にマージしたいと考えています:
dict_user = {{'id':id1, 'name':name1},{'id':id2, 'name':name2},{'id':id3, 'name':name3},{' id':id4, 'name':name4},{'id':id5, 'name':name5}}
上記の辞書を生成するにはどうすればよいですか?
補足: Python 3
まず第一に、dict_user は辞書のようには見えませんが、その中の各要素は辞書です。Python3 では、zip 関数を使用して、同じ長さの 2 つのリストを 2 次元のリストにマージできます。 、id2, id3, id4, id5]
userlist = [name1,name2,name3,name4,name5]
zipped= zip(idlist, userlist)
user= [dict(id=id,name=name) for id ,name in list(zipped)]
user = [{'id':id1, 'name':name1},{'id':id2, 'name':name2},{'id':id3, ' を取得できます。 name':name3},{' id':id4, 'name':name4},{'id':id5, 'name':name5}]
方法
リーリー敵それぞれ
リーリーまず第一に
dict_user = { ... } この形式はセット (set/frozenset) である必要がありますが、どちらも格納されているオブジェクトがハッシュ可能である必要があります。つまり、dict のような変数オブジェクトにすることはできません。そんなものは形ではありません。
は
リーリーdict_user = [{'id':id1, 'name':name1},{'id':id2, 'name':name2},{'id':id3, 'name':name3},{'id':id4, 'name':name4},{'id':id5, 'name':name5}]
である必要があり、その場合、コードは次のようになります: