2013-04-29 3 views
2

저는 python을 처음 사용합니다.배열 목록 변환

x=[[0.3], [0.07], [0.06]] 

로 :

x=[0.3,0.07, 0.06] 

방법과 같이 배열을 변환 할 수 있습니까? 미리 감사드립니다. 당신이있을 때

답변

5

다음 목록의 이해 유용 할 수 있습니다 .

>>> x=[[0.3], [0.07], [0.06]] 
>>> y = [a for [a] in x] 
>>> y 
[0.3, 0.07, 0.06] 

내부 값이 list이기도하다는 것을 고려하십시오.

cdhowie과 같이 비슷하지만 더 읽기 쉬운 코드는 다음과 같습니다.

>>> x=[[0.3], [0.07], [0.06]] 
>>> y = [a[0] for a in x] 
>>> y 
[0.3, 0.07, 0.06] 
+2

또는'y = [a [0 for a in x] '입니다. 이는 입력 요소가 목록이고 다른 인덱서 블 객체가 아니라고 가정하면 동일합니다. – cdhowie

+0

예. 그것은 동일한 방법입니다. 내가 당신을 태그해서 그걸 대답에 포함 시키면 되겠습니까? 다른 사람들에게 도움이 될 수 있습니다. –

+0

전혀하지 마라. – cdhowie

4

이이 예는 정말 빛나는 itertools.chain.from_iterable

from itertools import chain 
print list(chain.from_iterable(x)) 

의 고전적인 사용이다는 내부에 임의의 길이의 반복 가능 객체와의 반복자입니다 :

[[0],[12,15],[32,24,101],[42]] 
0
new_x = [] 
for elem in x: 
    new_x.extend(elem) 

이 하위 목록 당 요소의 수를 작동합니다.

+0

Tnx F3AR3DLEGEND, 그것도 작동합니다! –