파이썬 강좌: 리스트
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 초보 Python 개발자
- 리스트 자료구조의 기초 개념과 활용법을 학습하고자 하는 사람
- 난이도: 중간 (기초 문법과 조건문, 반복문 이해 필수)
핵심 요약
- 리스트는 다양한 데이터 타입의 항목을 저장할 수 있는 순서가 있는 컬렉션
- 인덱스(0부터 시작, 음수 사용 가능)를 통해 원소 접근 및 슬라이싱 가능
- 리스트 컴프리헨션으로 간결하게 데이터 변환/필터링 가능
섹션별 세부 요약
1. 리스트의 기본 개념
- 리스트는 문자열, 숫자, 불리언, 중첩 리스트 등 다양한 타입의 요소를 포함할 수 있음
- 예:
["banana", 1, True, ["A", "B"], 50.0, {}]
- 인덱스는 자동으로 0부터 시작하며, 음수 인덱스는 끝에서부터 순서 지정 가능
- 예:
winners[-1]
→ 마지막 요소 접근 - 인덱스 기반으로 요소 접근 가능
print(winners[0])
→ "dwight"print(winners[1:4])
→ ["darryl", "angela", "kevin"]
2. 슬라이싱(Slicing)
- 슬라이싱 구문:
list[시작 인덱스:종료 인덱스]
winners[1:4]
→ 인덱스 1부터 3까지 포함 (종료 인덱스는 제외)- 음수 인덱스 사용 시 끝에서부터 접근 가능
winners[-1]
→ 마지막 요소 "oscar"- 시작 또는 종료 인덱스 생략 시 기본값 적용
winners[:3]
→winners[0:3]
winners[4:]
→winners[4:-1]
3. 리스트 조건 처리
len()
함수로 요소 수 확인 가능len(winners)
→ 7,len(losers)
→ 0- 빈 리스트 여부 확인:
if some_list:
구문 사용 if some_list:
→ 요소 존재 시 "list has values" 출력else:
→ 빈 리스트일 경우 "list is empty" 출력
4. 리스트 컴프리헨션
- 간결한 문법으로 리스트 생성 및 변환 가능
- 대문자 변환 예시:
winners_uppercase = [i.upper() for i in winners]
→ ['DWIGHT', 'PAM', ...]
- 특정 조건 필터링 예시:
winners_containing_letter_a = [i for i in winners if "a" in i]
→ ["pam", "angela", "oscar"]
- 범위 생성 예시:
numbers_from_1_to_5 = [i for i in range(1, 6)]
→ [1, 2, 3, 4, 5]
5. 내장 메서드 활용
- 리스트 확장 기능:
append()
,insert()
,remove()
등 - 자세한 메서드 목록: 공식 문서 참조
결론
- 리스트 조작 시 슬라이싱과 음수 인덱스 활용이 실무에 유리
- 리스트 컴프리헨션으로 반복문을 간결하게 대체 가능
len()
과 조건문 조합으로 빈 리스트 처리 효율성 향상