본문 바로가기
파이썬

파이썬에서 목록 목록의 열에 액세스하는 방법

by º기록 2020. 10. 19.
반응형

목록 목록으로 모델링 된 파이썬에 2D 배열이 있고 열을 추출하고 싶습니다. 빠른 조사를했고 numpy 배열을 사용하는 방법을 찾았습니다. 문제는 numpy를 사용하고 싶지 않기 때문에 목록 목록을 numpy 배열로 변환 한 다음 [:, 1] 구문을 사용하고 싶지 않다는 것입니다. 일반 목록 목록에서 사용해 보았지만 오류가 표시되어 불가능합니다. 각 요소를 거치지 않고 목록 목록에 대해 비슷한 것을 요청하고 있습니다 (numpy 배열에서는 배열의 요소를 반복하는 것보다 [:, 1] 구문을 사용하여 열에 액세스하는 것이 더 빠릅니다).


미리 감사드립니다.

 

해결 방법

 

목록 이해력은 목록 목록으로 작업 할 때 친구입니다.

In [111]: alist
Out[111]: 
[[0, 1, 2, 3, 4, 5],
 [6, 7, 8, 9, 10, 11],
 [12, 13, 14, 15, 16, 17],
 [18, 19, 20, 21, 22, 23]]
In [112]: [row[1] for row in alist]
Out[112]: [1, 7, 13, 19]

중첩 된 목록을 바꾸어 '열'을 '행'으로 바꾸는 편리한 '관용구'도 있습니다.

In [113]: tlist = list(zip(*alist))
In [114]: tlist
Out[114]: 
[(0, 6, 12, 18),
 (1, 7, 13, 19),
 (2, 8, 14, 20),
 (3, 9, 15, 21),
 (4, 10, 16, 22),
 (5, 11, 17, 23)]
In [115]: tlist[1]
Out[115]: (1, 7, 13, 19)

 

참조 페이지 https://stackoverflow.com/questions/44360162

 

 

반응형

댓글