我有一種情況,我有時可以嵌套在多個數組層中的數據。最簡單的方法來返回嵌套在多個數組中的數組
有些時候,數據可以被嵌套,如:
[ [ 'green', 'blue', 'red' ] ]
其他時間
[[[ ['green', 'blue', 'red' ] ]]]
我想提取數組並返回,這將是這樣做的最Python的方式?
我有一種情況,我有時可以嵌套在多個數組層中的數據。最簡單的方法來返回嵌套在多個數組中的數組
有些時候,數據可以被嵌套,如:
[ [ 'green', 'blue', 'red' ] ]
其他時間
[[[ ['green', 'blue', 'red' ] ]]]
我想提取數組並返回,這將是這樣做的最Python的方式?
numpy的是一直是你最好的朋友:
>>> import numpy as np
>>> a = [[[ ['green', 'blue', 'red' ] ]]]
>>> print np.squeeze(a)
['green' 'blue' 'red']
的numpy的功能squeeze()
刪除所有維度在你的數組中是1。
不同意'一如既往的你最好的朋友' - 但+1 –
:)爲什麼? Numpy曾經讓你失望過去? –
def get_nested_list(a):
if len(a) == 1 and isinstance(a[0], list):
return get_nested_list(a[0])
return a
例子:
>>> get_nested_list([[[ ['green', 'blue', 'red' ] ]]])
['green', 'blue', 'red']
>>> get_nested_list([[[[1, 2],[3]]]])
[[1, 2], [3]]
父列表中是否還有其他元素?或者你只是想剝離多餘的嵌套? –
查看http://stackoverflow.com/questions/952914/making-a-flat-list-out-of-list-of-lists-in-python –
剝離「嵌套」很容易 - 但我看起來更多要在第一時間即不擁有它,如果無法預料的結果 - 然後有一個缺陷的地方,需要解決...... –