我想創造使用循環字典詞典(DofD)。在循環中,我的「subdict」變量將被置,然後用新名稱添加DofD。創建類型的字典詞典:循環
我從文件中讀取,帶分隔符的內容分割成塊,「####」,即分開我想在每個子字典。我根據塊中的一個字段來命名DofD中的每個條目。
我很困惑,因爲我的輸出DofD已經正確命名的項目,但所有跨subdicts的信息是相同的。所有的值都反映了最後一個子字典的內容。
idxs=[i for i,val in enumerate(fileContents) if val=='####\r\n']
paramsDict={}
for i in range(len(idxs)):
pos=idxs[i]
if i < len(idxs)-1: endLine=idxs[i+1]+1 # watch out for end of file
else: endLine=len(fileContents)
blockForSubDict=fileContents[idxs[i]+1:endLine]
paramsDict[blockForSubDict[0].split()[0]]={'Name': blockForSubDict[0].split()[0], 'Values' : [float(x.replace('\r\n','')) for x in blockForSubDict[5:lenBlock]]}
我制定了一個例子手工創建詞典的詞典,以確保我沒有做我的語法一個奇怪的現象:
d1={'Name': 'name1', 'Value': 30}
d2={'Name': 'name2', 'Value': 29}
d3={}
d3[d1['Name']]=d1
d3[d2['Name']]=d2
d3
{「名1」:{」名稱 ': '名稱1', '值':30}, '名2':{' 名稱「: '名2', '值':29}}
這個工作。
我有什麼在循環搞砸?
這不是一個問題 - 你應該改變它實際上是一個問題,然後按[自己回答吧](http://blog.stackoverflow.com/2011/07/ITS-OK-到問一答,你自己的問題/)。 – Volatility 2013-02-23 00:07:27
轉換爲問題格式。 – Roland 2013-02-28 23:38:53