我想創建一個在Python中的主字典通過拉動值形式3個單獨的字典的過程。 3個字典是這個樣子:通過組合多個其他字典創建一個有組織的字典
X = {'0':[1, 3, 4, 5], '.001':[2, 4, 6, 7]}
Y = {'0':[5, 6, 9, 2], '.001':[2, 6, 8, 4]}
Z = {'0':[3, 6, 8, 9], '.001':[3, 1, 5, 8]}
我希望能夠將這些字典合併成一個單一的主字典,集團從X,Y和Z,從X,Y的第二個值的第一個值,Z等等。最終字典看起來像這樣:
Final = {'0':[1, 5, 3], [3, 6, 6], [4, 9, 8], [5, 2, 9], '.001':[2, 2, 3].....
等等。我相信我需要使用for循環,但我不確定。任何幫助是極大的讚賞。
這是我迄今的代碼。所有的單個字典都可以正確創建,但最後一個不會。
Xcoord = {}
time = []
with open ('Nodal_QuardnetsX2.csv', 'r') as f:
f.readline() # Skips first line
for line in f:
values = [s.strip()for s in line.split(',')]
Xcoord[values[0]] = map(float, values[1:])
time.append(values[0])
print time
Ycoord = {}
with open ('Nodal_QuardnetsY2.csv', 'r') as f:
f.readline() # Skips first line
for line in f:
values = [s.strip()for s in line.split(',')]
Ycoord[values[0]] = map(float, values[1:])
Zcoord = {}
with open ('Nodal_QuardnetsZ2.csv', 'r') as f:
f.readline() # Skips first line
for line in f:
values = [s.strip()for s in line.split(',')]
Zcoord[values[0]] = map(float, values[1:])
counter = 0
k = len(Xcoord)
for time in range(k):
CoordCombo[time] = Xcoord[counter], Ycoord[counter], Zcoord[counter]
counter = counter + 1
你有任何代碼與我們分享,我們可以幫助你調試嗎? – skrrgwasme 2014-08-28 15:16:28
是Scott我添加了一些代碼。任何幫助都很棒! – 2014-08-28 15:23:13
這可能是你想要的假設關鍵'時間'存在。如果沒有,你必須檢查是否在Ycoord的時間,然後添加。在Xcoord中的時間:CoordCombo [time] = [Xcoord [time],Ycoord [time],Zcoord [time]] – user3885927 2014-08-28 15:37:28