프로그래밍/파이썬 공부

for문으로 중첩 리스트 만들기

이자다 2023. 3. 5. 23:53
반응형

혼작 공부하는 머신러닝을 공부하다가 처음보는 파이썬 용법이 나와서 그 부분만 따로 공부했습니다

 

파이썬을 아주 기초부분만 다루는 책만 공부해봐서 이런 용법은 처음 봤습니다

 

fish_data = [[l, w] for l, w in zip(length, weight)]

 

구문 fish_data = [[l, w] for l, w in zip(length, weight)] 구문을 더 잘 이해하기 위해 더 작은 부분으로 분해해 보겠습니다.

 


zip(length, weight) - zip() 함수는 두 개 이상의 매개변수(이 경우 length와 weight)을 취하고 각 매개변수의 요소를 집계하는 반복자를 반환합니다. 이 경우 길이와 무게의 해당 요소를 튜플로 집계합니다. 예를 들어 길이가 [1, 2, 3]이고 무게가 [10, 20, 30]이면 zip(length, weight)는 [(1, 10), (2, 20), (3, 30)]을 반환합니다.

 


for l, w in zip(length, weight) - 이것은 zip()이 반환한 튜플을 반복하는 for 루프입니다. 각 반복에서 l 변수는 튜플의 첫 번째 요소에 할당되고 w 변수는 튜플의 두 번째 요소에 할당됩니다.

 


[l, w] - 이것은 zip()에 의해 반환된 각 튜플에 대해 두 개의 요소 l과 w로 새 리스트를 만드는 리스트 comprehension입니다.

 


[[l, w] for l, w in zip(length, weight)] - 리스트의 리스트를 생성하는 중첩 리스트 comprehension입니다. 내부 리스트 [l, w]는 zip()이 반환한 각 튜플에 대해 생성되고 외부 리스트에는 모든 내부 목록이 포함됩니다.

 


마지막으로 목록의 결과 목록이 변수 fish_data에 할당됩니다.

 


따라서 전반적으로 이 구문은 두 개의 목록 길이와 무게를 취하고 zip()과 목록 내포를 사용하여 목록 fish_data의 새 목록을 생성합니다. 여기서 각 내부 목록에는 길이와 무게의 해당 요소가 포함됩니다.

 

 

이번 공부로 comprehension이 뭔지 알게 됐습니다

반응형