2015-02-05 24 views
0

我已經從另一個程序(蝗蟲),其大致相當於一個有序字典和可以轉化成形式使用元組作爲路徑

[ (0,0,0):[info], (0,0,1):info, (0,1,0):info ] 

我可以轉換到這個一些數據更改嵌套列表元組列表和信息的列表,但我的最終目標是重新創建結構嵌套列表即

[[[info, info], [info]]] 

的信息可以是任何類型的所以可能是一個列表或浮動等

問題是元組可以是任意長度的,所以我不知道在嵌套列表中有多少維度。這意味着我不能使用list [x] [y]方法,並且我還沒有設法獲得遞歸函數來分配不可變類型(info)。

有沒有人有任何想法?謝謝!

+0

真正的問題是你爲什麼要這樣做?這聽起來像是XY問題。 http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – acushner 2015-02-05 14:47:10

+0

公平點,我可以避免這樣做。另一方面,有一個簡單但可行的轉換將簡化代碼並避免重複,這總是很好! – 2015-02-05 14:52:33

+0

究竟是什麼重複它避免?我的直覺是有更好的方法來做到這一點 – acushner 2015-02-05 14:59:48

回答

0

爲什麼不只是做一些與defaultdictlist

from collections import defaultdict 

d = defaultdict(list) 
for gds in grasshopper_data_structs: 
    for k, v in gds.items(): 
     d[k].append(v)