AD JB Toolbox 01

Python 강좌 / 리스트 만들고 항목 추가·수정·삭제하기

리스트는 순서가 있고 내용을 바꿀 수 있는 자료형입니다. 항목을 추가·수정·삭제할 수 있지만, 리스트를 정렬하는 메서드와 새 정렬 결과를 만드는 함수를 구분해야 합니다.

항목 접근과 수정 방법

리스트는 대괄호로 만들며 첫 인덱스는 0입니다. 인덱스로 한 항목을 바꾸거나 슬라이스로 일부를 복사할 수 있습니다. 같은 값이 여러 번 들어갈 수 있고, 숫자·문자열 등 서로 다른 자료형을 담을 수도 있지만 합계를 구할 데이터는 같은 의미와 단위로 맞추는 것이 좋습니다.

관련 동작과 지원 조건은 리스트 만들고 항목 추가·수정·삭제하기 관련 공식 문서에서 확인할 수 있습니다.

동작 코드 주의점
끝에 추가 items.append(value) 리스트 하나를 넣으면 중첩 항목이 됨
여러 항목 추가 items.extend(values) 반복 가능한 값의 항목을 차례로 추가
위치로 삭제 items.pop(index) 삭제한 값을 반환
값으로 삭제 items.remove(value) 첫 번째 일치만 삭제, 없으면 오류

전체 예제와 실행 결과

별도의 실습 폴더에서 아래 파일을 UTF-8로 저장합니다. 가상환경을 선택한 터미널에서 python lists.py 명령으로 실행합니다. macOS·Ubuntu에서 가상환경을 사용하지 않는 경우 명령 이름을 python3으로 바꿉니다.

lists.py 파일의 전체 내용입니다.

amounts = [3500, 8000, 2500]
amounts.append(1000)
amounts[0] = 4000
removed = amounts.pop()
print(amounts, removed)
print(sorted(amounts))
print(amounts)
amounts.sort()
print(amounts)

예상 결과는 다음과 같습니다.

[4000, 8000, 2500] 1000
[2500, 4000, 8000]
[4000, 8000, 2500]
[2500, 4000, 8000]

원본 정렬과 새 리스트 구분하기

sorted(amounts)는 새 리스트를 반환하므로 원본 순서는 그대로입니다. amounts.sort()는 원본을 바꾸고 반환값은 None입니다. amounts = amounts.sort()처럼 쓰면 리스트 대신 None을 저장하게 됩니다.

copy = amounts[:]는 바깥 리스트를 복사하는 얕은 복사입니다. 항목에 또 다른 리스트가 있으면 안쪽 객체까지 독립적으로 복제되지는 않습니다. 단순 대입 other = amounts는 복사조차 하지 않고 같은 리스트에 이름만 더 연결합니다.

빈 목록과 반복 중 변경 점검하기

빈 리스트의 0번째 항목을 읽거나 pop()을 호출하면 IndexError가 발생합니다. 항목이 있을 때만 처리할 조건을 넣거나 데이터가 반드시 있어야 하는 계약을 검증해야 합니다. remove는 없는 값에 ValueError를 발생시킵니다.

반복 중 같은 리스트에서 항목을 삭제하면 위치가 바뀌어 항목을 건너뛸 수 있습니다. 원본의 복사본을 돌거나 조건에 맞는 새 리스트를 만드는 방식이 더 명확합니다. amounts에 0을 하나 추가해 합계와 정렬이 어떻게 바뀌는지 확인한 뒤 원래 데이터로 되돌려 보세요.

같은 카테고리의 다른 글
Python 강좌 / Python이란? 특징과 활용 분야

Python 강좌 / Python이란? 특징과 활용 분야

Python의 역할과 활용 범위를 이해하고 소스 파일·터미널·인터프리터를 구분합니다. 간단한 합산 예제를 실행하며 강좌의 실습 방식을 익힐 수 있습니다.

Python 강좌 / macOS·Ubuntu에서 Python 실행 환경 준비하기

Python 강좌 / macOS·Ubuntu에서 Python 실행 환경 준비하기

macOS와 Ubuntu의 Python 설치 경로를 확인하고 개발용 가상환경을 만듭니다. 시스템 Python 보호, 배포판 버전 차이와 설치 오류의 확인 기준을 함께 다룹니다.

Python 강좌 / VS Code에서 Python 코드 작성하고 실행하기

Python 강좌 / VS Code에서 Python 코드 작성하고 실행하기

VS Code에서 프로젝트 폴더와 가상환경 인터프리터를 연결합니다. 실행 경로 확인, 간단한 디버깅과 패키지 환경 불일치 해결 방법을 설명합니다.

Python 강좌 / 변수·주석·입력과 출력으로 첫 프로그램 만들기

Python 강좌 / 변수·주석·입력과 출력으로 첫 프로그램 만들기

변수 대입과 주석, input·print의 역할을 익힙니다. 입력 문자열을 금액으로 변환하고 f-string으로 출력하며 잘못된 입력의 원인을 확인합니다.

Python 강좌 / 문자열 다루기: 인덱싱·슬라이싱·메서드·f-string

Python 강좌 / 문자열 다루기: 인덱싱·슬라이싱·메서드·f-string

문자열의 인덱싱·슬라이싱과 strip·split·join·f-string을 익힙니다. 원본이 변경되지 않는 특성과 CSV·SQL 처리에서 구분할 점을 설명합니다.

Python 강좌 / 리스트 만들고 항목 추가·수정·삭제하기

Python 강좌 / 리스트 만들고 항목 추가·수정·삭제하기

리스트의 추가·수정·삭제와 정렬을 실행 예제로 확인합니다. sort와 sorted, 얕은 복사, 빈 목록과 반복 중 변경의 차이를 설명합니다.

Python 강좌 / 숫자 자료형과 연산: 정수·실수·형 변환

Python 강좌 / 숫자 자료형과 연산: 정수·실수·형 변환

int·float·Decimal의 차이와 나눗셈·형 변환을 설명합니다. 음수와 십진 소수 예제로 금액 계산에서 정확도를 선택하는 방법을 확인합니다.

Python 강좌 / 가상환경 만들기와 pip로 패키지 관리하기

Python 강좌 / 가상환경 만들기와 pip로 패키지 관리하기

venv로 프로젝트 환경을 분리하고 python -m pip로 패키지를 관리합니다. 활성화, 버전 기록, 재설치와 설치 환경 불일치 해결 기준을 익힙니다.

Python 강좌 / Windows에 Python 설치하고 실행 확인하기

Python 강좌 / Windows에 Python 설치하고 실행 확인하기

공식 Python Install Manager로 Windows 실행 환경을 준비합니다. 기존 설치 확인, 프로젝트용 가상환경 생성, 명령 충돌과 실행 경로 점검까지 설명합니다.