하나의 리스트를 여러개로 나누기

2024. 1. 31. 10:19·파이썬/Basic
반응형

리스트를 나누는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 for 루프를 사용하는 것입니다.

다음은 for 루프를 사용하여 리스트를 1000개씩 나누는 코드입니다.

for문 사용

index = [row.index[i * 1000:(i + 1) * 1000].tolist() for i in range(0, int(len(row.index) / 1000))]

이 코드는 다음과 같이 작동합니다.

  1. range() 함수를 사용하여 0부터 len(row.index) / 1000 미만의 값을 생성합니다.
  2. for 루프를 사용하여 생성된 값을 순회합니다.
  3. i * 1000부터 (i + 1) * 1000까지의 인덱스 값을 가져옵니다.
  4. 가져온 인덱스 값을 리스트로 변환합니다.
  5. 변환된 리스트를 index 리스트에 추가합니다.

이 코드는 작동하지만 효율적이지 않습니다. for 루프를 사용하는 경우 각 반복마다 row.index 리스트를 처음부터 끝까지 순회해야 합니다. 이는 메모리와 CPU 사용량을 증가시킬 수 있습니다.

 

NumPy 사용

NumPy는 과학 계산을 위한 파이썬 라이브러리입니다. NumPy는 리스트 나누기 기능을 제공합니다. 다음은 NumPy를 사용하여 리스트를 1000개씩 나누는 코드입니다.

import numpy as np

index = np.array_split(row.index, len(row.index) / 1000)
index = [chunk.tolist() for chunk in index]

이 코드는 다음과 같이 작동합니다.

  1. np.array_split() 함수를 사용하여 row.index 리스트를 1000개씩 나눕니다.
  2. tolist() 메서드를 사용하여 반환된 NumPy 배열을 리스트로 변환합니다.

이 코드는 for 루프를 사용하지 않기 때문에 효율적입니다. np.array_split() 함수는 row.index 리스트를 한 번만 순회하여 1000개의 리스트를 생성합니다. 따라서 메모리와 CPU 사용량을 줄일 수 있습니다.

 

저작자표시 비영리 변경금지 (새창열림)

'파이썬 > Basic' 카테고리의 다른 글

requests : 간편한 HTTP 요청  (0) 2024.02.05
파이썬 리스트 컴프리헨션  (1) 2024.02.01
문자열 공백 제거하기  (1) 2024.01.27
딕셔너리에 키값을 검사하는 방법  (1) 2024.01.25
빈 시퀀스(String, Tuple, List) 확인하기  (0) 2024.01.13
'파이썬/Basic' 카테고리의 다른 글
  • requests : 간편한 HTTP 요청
  • 파이썬 리스트 컴프리헨션
  • 문자열 공백 제거하기
  • 딕셔너리에 키값을 검사하는 방법
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    unity
    카페24리뷰이관
    rtsp
    스크립트 실행 순서
    셀레니움
    cv2
    스마트스토어리뷰
    카페24리뷰
    list
    learntocode
    리뷰이관
    appdevelopment
    codingtips
    믈레코비타멸균우유
    스크립트 실행
    상품 리뷰 크롤링
    C#
    라떼우유
    쇼핑몰리뷰
    파이썬
    Python
    programming101
    codingcommunity
    유니티
    programmerlife
    ipcamera
    긴유통기한우유
    리스트
    devlife
    리뷰관리
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
하나의 리스트를 여러개로 나누기
상단으로

티스토리툴바