RAG2026-5일7차시 · 텍스트 분할 이해17 / 19← 이전목차다음 →MetaContents

7차시. 텍스트 분할 이해

퀴즈 2 — 조각마다 chunk_id 붙이기

조각마다 chunk_id를 붙여 새 리스트를 만드세요. 0부터.

빈칸 코드에서 시작합니다.

Python
def with_ids(chunks):
    pass
결과 보기 (예시 풀이)
Python
# 퀴즈 2. 조각마다 chunk_id 붙이기
# prepare.py의 "for index, chunk in enumerate(chunks)"를 딕셔너리로 연습합니다.

def with_ids(chunks):
    out = []
    # enumerate는 (번호, 값)을 함께 줍니다. 번호는 0부터 시작합니다.
    for i, text in enumerate(chunks):
        # 원래 문자열은 건드리지 않고, 번호와 본문을 담은 새 딕셔너리를 만듭니다.
        out.append({"chunk_id": i, "page_content": text})
    return out

chunks = ["1. 환불 규정\n상품 수령 후 7일 이내에 환불이 가능합니다.",
          "2. 교환 규정\n불량품은 30일 이내 교환이 가능합니다.",
          "3. 고객센터\n운영 시간은 평일 09:00 ~ 18:00 입니다."]

result = with_ids(chunks)

# 확인 1: 번호가 0, 1, 2로 매겨졌는지
for c in result:
    print(c["chunk_id"], c["page_content"].split("\n")[0])

# 확인 2: 입력 리스트는 그대로 문자열인지 (새 리스트를 만들었는지)
print(type(chunks[0]).__name__, len(chunks), "개 그대로")

# 확인 3: 빈 리스트를 넣으면 빈 리스트
print(with_ids([]))

실행 결과

출력
0 1. 환불 규정
1 2. 교환 규정
2 3. 고객센터
str 3 개 그대로
[]

채점 기준: 입력 문자열은 바꾸지 않고 새 딕셔너리를 만든다.

관련 교안: 7차시 「10. 이번 차시 완성 코드」

← 이전 절7차시 · 퀴즈 1 — 이웃 조각의 겹침 확인하기다음 절 →7차시 · 정리