辞書のリストをループし、値が存在するかどうかをチェックする必要があります。それが存在する場合、私はこの同じ辞書から別の値をとり、それを別のリストの新しい辞書に格納します。私が持っているものはこれですPython:辞書のリストをループして新しい辞書に値を抽出する
class_copy=[]
for root, dirs, files in os.walk(files_path+"/TD"):
for file in files:
file_name=os.path.splitext(file)[0]
for d in data_list:
if d['id'] == file_name:
cc['class']=d['fic']
class_copy.append(cc)
break
私はいくつかのファイルをループします。 data_listは辞書のリストです。これらの辞書はそれぞれファイル名に一致する 'id'を持っているので、値 'id'を持つ辞書 'd'が見つかると辞書 'd'に 'fic'という値をとり、クラス 'の値を格納する' fic '。次に、この辞書をclass_copyという辞書の新しいリストに格納します。
問題は、すべてをループした後、class_copyのすべての辞書が同じであることです。私はループし、dのインスタンスを変更することによって、class_copyの値も変化していると思いますが、どのように値を保持できますか?これを行うより良い方法はありますか?
'class_copy'とその中のオブジェクトをどのように初期化したかを教えてもらって、同じ辞書に複数の参照があることを教えてもらえますか? – TigerhawkT3
@ TigerhawkT3空リストとしてclass_copyを初期化する方法を追加しました – Atirag