1 life 2 live
파이썬 기초 프로그래밍(5-1) - 자료구조1 (리스트) [20.7.14] 본문
1. 자료구조 개요
■ 5명의 성적을 처리해야 한다.
º 다섯 명 개개인의 성적을 저장해야 하고,
º 다섯 명의 성적 평균과 최고/최하점을 계산해야 한다!
■ 5개의 변수가 필요하다!
º score1
º score2
º score3
º score4
º score5
■ 50명의 성적을 처리해야 한다면?
º 오십 명 개개인의 성적을 저장해야 하고,
º 오십 명의 성적 평균과 최고/최하점을 계산해야 한다!
■ 50 개의 변수가 필요한가…?
º score1, score2, score3, score4, score5, …
score10, score11, score12, …
score 30, score31, score32, …, score50?
■ 만약 500명이라면…?
■ 여러 값들을 효과적으로 저장, 처리하기 위한 방안이 필요!
■순서가 중요한 자료의 모음
º 리스트
º 튜플
■ 순서는 없지만 유일성(uniqueness)이 중요한 자료의 모음
º 딕셔너리
º 집합
2. 리스트 (List)
■ 다수의 자룔르 저장하기 위한 구조
■ 다수의 변수를 모아놓은 것
■ 선언 방법
■ 리스트 선언 예제
º 빈 리스트
º 숫자로 이루어진 리스트
º 문자열로 이루어진 리스트
º 숫자와 문자열이 혼합된 리스트
º 리스트를 요소로 가지는 리스트
■ 리스트
º 이 리스트의 특정 위치에 자리한 요소를 표현하고 싶다면?
º 해당 위치를 표기하는 ‘인덱스’를 통하여 표현!
■ 리스트 인덱싱
º 리스트[인덱스]
• 리스트의 ‘인덱스’ 위치에 자리하고 있는 요소를 표현
■ 리스트 인덱스
º year[0], year[1]: year의 첫 번째, 두 번째 요소
º year[-1], year[-2]: year의 끝에서 첫 번째, 끝에서 두 번째 요소
º 요소의 개수를 벗어난 인덱스로 접근하면?
■ 리스트의 일부를 추출하고 싶다면?
º 2010 ~ 2014까지만 추출하여 출력하고 싶다면 어떻게 해야 할까?
º 조금 더 간략한 방법은 없을까?
• 리스트의 처음부터 4번 위치까지 한번에 표시할 수 있는 방법?
■ 슬라이싱!
■ 슬라이싱 문법 → 리스트 [시작:종료:단위]
º 시작: 슬라이스 시작 위치
º 종료: 슬라이스 종료 위치 (단, 종료 위치는 포함되지 않음!)
º 단위: 시작부터 종료까지 이동 단위
■ 리스트 [시작:종료]
º 종료 인덱스 위치는 포함되지 않는다!
º 예) year[0:4]: 0 ~ 3 까지 위치한 요소들을 추출
º 예) year[4:8]: 4 ~ 7 까지 위치한 요소들을 추출
■ 리스트 [:종료]
º 종료 인덱스 위치는 포함되지 않는다!
º 예) year[:8]: 리스트의 처음부터 7 까지 위치한 요소들을 추출
■ 리스트 [시작:]
º 예) year[4:] 리스트의 4 부터 끝까지 위치한 요소들을 추출
■ 리스트[시작:종료:단위]
º 종료 인덱스 위치는 포함되지 않는다!
º 단위는 양수/음수 모두 가능하다!
º 예) year[0:4:2]
• 0~3 까지 위치한 요소들을 2칸씩 이동하며 리스트 추출
• 결과물: [year[0], year[2]]
º 예) year[7:4:-1]
• 7~5 까지 위치한 요소들을 -1칸씩 이동하며 리스트 추출
• 결과물: [year[7],year[6],year[5]]
º 예) year[::2]
• 리스트의 처음부터 시작하여 2칸씩 이동하며 요소들을 추출
• 결과물: [year[0], year[2], year[4], year[6]]
º 예) year[::-1]
• 리스트의 끝에서부터 시작하여 -1칸씩 이동하며 요소들을 추출
• 결과물: [year[7], year[6], year[5], …, year[0]]
º 예) year[:4:-1]
• 리스트의 끝에서부터 시작하여 5번 요소까지 -1칸씩 이동하며 요소들을 추출
• 결과물: [year[7], year[6], year[5]]
■ 아래 구조에서 2012를 표현하고 싶다면?
º year[2]? year[0]?
■ 2차원 접근!
º year[0][2]
º year[0][::-1]
º year[0][1:3]
'파이썬' 카테고리의 다른 글
파이썬 기초 프로그래밍(5-3) - 자료구조1 (튜플 및 정리) [20.7.16] (0) | 2020.07.16 |
---|---|
파이썬 기초 프로그래밍(5-2) - 자료구조1 (리스트 및 실습) [20.7.15] (0) | 2020.07.15 |
파이썬 기초 프로그래밍(4-2) - 반복문 (While 구문, Break, Continue 및 실습 문제와 정리 [20.7.13] (0) | 2020.07.13 |
파이썬 기초 프로그래밍(4-1) - 반복문 (For 구문 및 실습 문제) [20.7.12] (0) | 2020.07.12 |
파이썬 기초 프로그래밍(3-2) - 조건문(관계/논리 연산자), 실습 문제와 정리 [20.7.11] (0) | 2020.07.11 |