반응형
joint_pixelX = [[1 for i in range(19)] for j in range(4)]
joint_pixelY = [[1 for i in range(19)] for j in range(4)]
joint_dist = [[0 for i in range(19)] for j in range(4)]
이게 뭐지.. 전혀 본적이 없는 리스트 선언 방식인데?
라고 생각하고 엄청난 고민을 하다 겨우 찾았습니다.
바로 리스트 내에서 for문을 사용해 선언하는 방법으로 리스트 컴프리헨션이라고 합니다.
먼저 리스트 컴프리헨션을 사용하지 않는 기존의 방법을 예시를 들어보겠다.
a=[]
for x in range(0,5):
a.append(x)
결과는 생성한 리스트에 0부터 4까지 들어갈 것입니다.
이것을 리스트 컴프리헨션을 사용해보겠습니다.
a= [x for x in range(0, 5)]
이게 끝이다.
결과는 다음과 같다.
[ 0, 1 ,2 ,3, 4]
그럼 다시 위로 돌아와서 2차원 리스트를 해석해보자
joint_pixelX = [[1 for i in range(19)] for j in range(4)]
Joint_pixelX[20][4]의 2차원 리스트를 만든다와 같은 의미다. 그리고 i대신 1을 사용해서 1로 전부 채운다는 의미가 된다.
강력한 기능이라고 하지만 오히려 가독성이 떨어지는 느낌이라.. 뭔가 이상한 느낌이다... 아무튼 이렇게 사용한다고 합니다.
반응형
'컴퓨터 프로그래밍' 카테고리의 다른 글
리스트와 numpy 문제? (0) | 2019.06.21 |
---|---|
python 리스트 슬라이싱 (0) | 2019.06.21 |
c# Mysql realsense tensorflow 연동 (0) | 2019.06.20 |
C#에서 Python 으로 만들어진 딥러닝 스크립트를 돌려보자 PROJECT (1) | 2019.06.19 |
C#에서 Python 으로 만들어진 딥러닝 스크립트를 돌려보자 PROJECT (0) | 2019.06.19 |