리스트 스플릿 (Split Lists into N Chunks)

Seong Woong Kim·2023년 8월 30일
0

Python

목록 보기
15/18

💡 이 글은 쪼개진 조각처럼 부분별로 알고 있는 Python을 AtoZ부터 다시 끝까지 다져보자 라는 생각으로 인프런 파이썬 강의에서 공부한 것을 정리하는 글입니다. 💡


Split Lists into N Chunks


개발을 진행하다가 리스트를 특정 단위로 묶어서 처리하는 경우가 생깁니다.

머신러닝 中 numpy array 구조를 보면 레이어에 따라서 리스트 중첩이 굉장히 많아져서 깊은 depth로 있는 경우도 많습니다.

List 안에 있는 요소들을 list slicing, list comprehension을 통해서 N Chunks로 만드는 예제입니다.


For문

list_ = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

def split_n_list(split_size=3):
    split_list = list()
    
    for i in range(0, len(list_), split_size):
        split_list.append(list_[i:i+split_size])
    return split_list
    
>>> [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I'], ['J', 'K', 'L'], ['M', 'N', 'O'], ['P', 'Q', 'R'], ['S', 'T', 'U'], ['V', 'W', 'X'], ['Y', 'Z']]

List Comprehension

list_ = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']

split_size = 3

output = [list_[i:i+split_size] for i in range(0, len(list_), split_size)]


>>> [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I'], ['J', 'K', 'L'], ['M', 'N', 'O'], ['P', 'Q', 'R'], ['S', 'T', 'U'], ['V', 'W', 'X'], ['Y', 'Z']]
profile
성장과 연구하는 자세를 추구하는 AI 연구개발자

0개의 댓글