레이블이 zip인 게시물을 표시합니다. 모든 게시물 표시
레이블이 zip인 게시물을 표시합니다. 모든 게시물 표시

2016년 11월 27일 일요일

python zip 함수를 이용한 transpose

행렬 연산중에 transpose라는 연산이 있습니다.

전치행렬이라고도 하는데요,  A^T 이런식으로

행렬에서 행과 열을 바꿔서, 나타내는 방법입니다.

{\displaystyle {\begin{bmatrix}1&2\\3&4\end{bmatrix}}^{\mathrm {T} }\!\!\;\!=\,{\begin{bmatrix}1&3\\2&4\end{bmatrix}}\quad \quad \quad \quad {\begin{bmatrix}1&2\\3&4\\5&6\end{bmatrix}}^{\mathrm {T} }\!\!\;\!=\,{\begin{bmatrix}1&3&5\\2&4&6\end{bmatrix}}\;}



자매품인 numpy 에서 transpose는 transpose라는 함수가 따로 존재하기도 합니다.


python 에서 numpy 를 사용하지 않고 transpose를 구하는 방법중 쉬운방법중 하나는
zip 함수를 이용하는 것입니다. zip함수와 *를 이용하면 아래와 같이 간단하게 transpose를 구현할 수 있습니다.



테이블의 행과열을 바꿀일이 있다면 zip 함수를 이용하면 아래와 같이 간단히 바꿀수 있는겁니다.


>>> A = [[1,2,3],[4,5,6]]
>>> list( zip(*A))
[(1, 4), (2, 5), (3, 6)]
>>> 


참조자료 http://ko.wikipedia.org/wiki/%EC%A0%84%EC%B9%98%ED%96%89%EB%A0%AC


2014년 3월 22일 토요일

Python zip 함수 사용법

Zip function

zip 함수는 보통 List여러개로  slice 할때 사용을 합니다.
보통 우리가 김밥을 말때, 여러가지 재료를 묶습니다.
그리고 김밥을 자르죠,, 이것과 개념이 비슷합니다.
여러가지 List를 김밥말듯이 말아버립니다.
그리고 iterator 등의 함수로 slice를 하는 것이죠,
간단한 예제를 보겠습니다.
a = [1,2,3,4,5]
b = ['a','b','c','d','e']

for x,y in zip (a,b):
  print x,y



이런식으로 김밥 슬라이스 자르듯이 자르게 됩니다.
zip 함수는 보다보면 사용할때가 은근 많습니다.
여럿의 리스트를 짝지어주는 역할인거죠,