본문 바로가기
Python/Python_basic

[Python] 리스르 스플릿 Split Lists Into N Chunks

by Mr.DonyStark 2023. 11. 3.

□ range 함수

 ○range(시작값, 종료값)

new_range = range(0,100) #0~100범위 지정
list(new_range) #범위 지정한것을 바탕으로 리스트 생성
print(list(new_range))

 ○range(시작값, 종료값, 증가개수)

second_range = range(0, 100, 10) #0~100범위 10씩증가한 값으로 지정
list(second_range)
print(list(second_range))

#==================================================

#second_range에 0부터 10000까지 범위중 100씩 증가하는 값들로 리스트 데이터 적재
#즉, 0~9999까지 100씩 증가하는 값들록 이루어진 리스트로 길이는 99임
second_range = list(range(0,10000,100))

#b에 빈리스트 생성
b = [] 

#반복문 0부터 길이 99까지 범위지정
#↓ second_range값을 3개씩 끊어서 넣겠다는 코드. 범위는 0부터 99까지.
for i in range(0,len(second_range)):
    b.append(second_range[i:i+3])
print(b)

 

 ○예제

#아래와 같은 리스트를 n개 단위로 출력결과와 같이 리스트로 생성&출력
x = ['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']

#방법1
def split_n_list(split_size=3): #함수정의 / 3만큼 split을 기본값으로 지정한 것 뿐 호출시 별도 지정해도됨
    new_list = list()      #빈리스트 변수 생성   
    for i in range(0,len(x), split_size):      #0부터 x리스트 길이까지 범위 지정 후 스플릿 길이만큼 끊어서 저장
            new_list.append(x[i:i+split_size]) #0부터 스플릿 길이만큼 저장 to 빈리스트
    return new_list #결과 출력           
print(f'방법1 결과 : {split_n_list(4)}')

#방법2 list comprehension
input_split_num = int(input("파싱개수 입력"))
output_list = []
output_list = [x[i:i+input_split_num] for i in range(0,len(x),input_split_num)]      #리스트컴프리헨션
print(f'방법2 결과 : {output_list}')