Programming/Python

[Python] list를 부분 분리 할 때 사용하는 '*'

우송송 2022. 10. 6. 16:37

책에서 본적 없지만(아마도..) yolov5 코드를 분석하다 알게된 문법이다

det = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
*poly, conf, cls = det

위 와 같이 det 리스트가 있고 2번 라인처럼 unpack 변수 개수가 다른 코드를 발견했다

 

 

용도는 금방 알 수 있었는데 det 리스트의 맨 뒤 8과 9가 각각 conf 와 cls 에 들어가고 나머지 값들은 list 형태로 poly 변수에 저장된다

print(poly, conf, cls)
>> [0, 1, 2, 3, 4, 5, 6, 7] 8 9

 

보통은 아래처럼 코드를 짰었는데 * 을 사용하는것도 깔끔해보인다

poly = det[:8]
conf = det[8]
cls = det[9]