때때로 여러 배열 레이어에 중첩 될 수있는 데이터가있는 상황이 있습니다.여러 배열에 중첩 된 배열을 반환하는 가장 간단한 방법
데이터가 같이 중첩 될 수있는 몇 가지 시간 :
[ [ 'green', 'blue', 'red' ] ]
다른 시간
[[[ ['green', 'blue', 'red' ] ]]]
내가 배열을 추출하고 반환 할, 무슨 일이 일의 가장 파이썬 방법이 될 것이다?
때때로 여러 배열 레이어에 중첩 될 수있는 데이터가있는 상황이 있습니다.여러 배열에 중첩 된 배열을 반환하는 가장 간단한 방법
데이터가 같이 중첩 될 수있는 몇 가지 시간 :
[ [ 'green', 'blue', 'red' ] ]
다른 시간
[[[ ['green', 'blue', 'red' ] ]]]
내가 배열을 추출하고 반환 할, 무슨 일이 일의 가장 파이썬 방법이 될 것이다?
NumPy와는 항상 당신의 가장 친한 친구 : squeeze()
모든 차원을 제거
>>> import numpy as np
>>> a = [[[ ['green', 'blue', 'red' ] ]]]
>>> print np.squeeze(a)
['green' 'blue' 'red']
NumPy와 기능이 귀하의 배열에 1입니다.
항상 '가장 친한 친구'와 동의하지 마세요. +1 –
:) 이유가 무엇입니까? 너 피는 과거에 널 실망 시켰어? –
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 –
"중첩"을 제거하는 것은 쉽습니다. 첫 번째 장소, 즉 예측할 수없는 결과가 없다면 어딘가에 주소 지정이 필요한 결함이 있습니다. ... –