我需要在字典列表上循環並檢查值是否存在。如果它存在,那麼我會從同一個字典中獲取另一個值,並將其存儲在另一個列表中的新字典中。我有這個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