2017-08-18 58 views
1

一直在尋找這裏和許多其他地方,但沒有找到我需要的東西,所以我想知道有些靈魂可以幫助我嗎?調整列表的多維Python列表的大小

鑑於四維列表:

tv = [[[[0 for x in range(2)]]] for c in range(7)] 

我如何可以調整它,這樣我可以做

tv[0][1][0][0] = 'Hello' 

print tv 
+3

你爲什麼不使用'numpy'? – CoryKramer

+0

我不明白,你爲什麼不''電視[0] [0] [0] [1] ='你好'' –

+0

你能說清楚你的意思嗎_resize_?此外,你有一個可疑的unicode引用字符包裝你的'你好' – Miket25

回答

0

我覺得你只是想一些維度結合起來使用。或許這樣更容易在numpy做,但你可以做這樣的事情

tv = [[[[0 for x in range(2)]]] for c in range(7)] 

tv = [tv[x]+tv[x+1] if x <= 5 else tv[-1:] for x in range(0,len(tv),2)] 

tv[0][1][0][0] = 'Hello' 

[[[[0, 0]], [['Hello', 0]]], [[[0, 0]], [[0, 0]]], [[[0, 0]], [[0, 0]]], [[[[0, 0]]]]] 

沒有指定他們4D值,您希望它形狀,但你可以只修改該行

+0

因此,當我做tv [0] [0] [0] [0] ='你好'時,它輸出[[[['Hello',0]]] [[[0,0]]] [[ [0,0]]],[[[0,0]]],[[[0,0]]],[[[0,0]]],[我做電視[0] [1] [0] [0] ='你好'我希望它輸出[[[0,0]]],[[['Hello',0]]],[[[ 0,0]]],[[[0,0]]],[[[0,0]]],[[[0,0]]],[[0,0]]]缺少一些尺寸) – Noji

+0

我的示例不缺少維度,因爲'tv [0] [1] [0] [0]'不是4d的有效索引,所以你不清楚你想要什麼。列表中您剛剛在該評論中提供的內容以及問題 – DJK

+0

因此,目標是使其有效。這就是我想要的。 – Noji