콘텐츠로 이동

D. remove()로 항목 제거


🎯 학습 목표

이 강의를 마치면 다음을 할 수 있어요:

  • remove() 함수로 항목을 제거할 수 있다
  • ○ 게임에서 적/총알을 제거할 수 있다
  • ○ 제거 시 주의사항을 이해한다

핵심 개념

remove()란?

remove() 함수는 리스트에서 특정 항목을 제거합니다.

🗑️ 비유: 쓰레기통

마치 쓰레기통에 물건을 버리는 것처럼! 지정한 항목을 찾아서 제거합니다.

fruits = ["사과", "바나나", "오렌지"]
fruits.remove("바나나")
# fruits = ["사과", "오렌지"]

문법

리스트이름.remove(제거할 항목)

게임에서의 활용

enemies = [enemy1, enemy2, enemy3]

# 적이 죽으면 제거
enemies.remove(enemy1)
destroy(enemy1)  # 화면에서도 제거

주의사항

⚠️ 주의!

리스트에 없는 항목을 제거하려고 하면 오류 발생!

fruits = ["사과", "바나나"]
fruits.remove("포도")  # ValueError!

예제 코드

from ursina import *

app = Ursina()

# 타겟 리스트
targets = []

# 타겟 6개 만들기
for i in range(6):
    target = Entity(
        model='cube',
        color=color.white,
        position=(i*2 - 5, 0, 5)
    )
    targets.append(target)

print(f"타겟 개수: {len(targets)}")  # 6

# 첫 번째 타겟 제거
first = targets[0]
targets.remove(first)
destroy(first)

print(f"타겟 개수: {len(targets)}")  # 5

app.run()

실행 결과

6개 중 1개가 제거되어 5개 남음!


퀴즈

퀴즈: remove() 주의사항
리스트에 없는 항목을 제거하려고 하면?
정답 보기

정답: B) ValueError 오류 발생

없는 항목을 제거하려고 하면 오류가 발생합니다! 제거 전에 항목이 있는지 확인하는 것이 안전합니다.

remove() 연습:

fruits = ["사과", "바나나", "오렌지"] 리스트가 있을 때:

  • "바나나"를 제거하려면: fruits. ("바나나")["사과", "오렌지"]
  • 리스트에 없는 항목을 제거하면: 발생
  • 제거 전 "포도"가 있는지 확인: if "포도" fruits:

🔧 디버그 클리닉

문제: ValueError: list.remove(x): x not in list

❌ 잘못된 코드

targets.remove(enemy)  # enemy가 targets에 없으면 오류!
원인: 리스트에 없는 항목을 제거하려고 함

✅ 올바른 코드

if enemy in targets:
    targets.remove(enemy)
해결: 제거 전에 in 키워드로 확인!


직접 코딩해보기

블록으로 배운 내용을 Python 코드로 직접 작성해보세요!

remove()로 제거하기

리스트에서 특정 항목을 제거해보세요.

예시 답안
fruits = ['사과', '바나나', '오렌지', '포도']
print(f'제거 전: {fruits}')
fruits.remove('바나나')
print(f'제거 후: {fruits}')

결과: '바나나'가 제거된 리스트가 출력됩니다!

안전하게 제거하기

항목이 있는지 확인 후 제거해보세요!


🧩 핵심 요약

이번 강의에서 배운 내용:

개념 설명
remove() 리스트에서 항목 제거
문법 리스트.remove(항목)
주의 없는 항목 제거 시 오류
안전 확인 if item in list:

복습 체크리스트

  • [ ] remove() 함수의 역할을 설명할 수 있나요?
  • [ ] 없는 항목을 제거하려고 하면 어떤 오류가 발생하는지 알고 있나요?
  • [ ] in 키워드로 항목 존재 여부를 확인할 수 있나요?