Professional Documents
Culture Documents
06 - 리스트 자료형
06 - 리스트 자료형
리스트 자료형
1. 리스트(list)의 이해
2. 리스트 조작
1) 인덱싱, 슬라이싱
2) 연산
3) 추가, 삭제
4) 패킹, 언패킹
3. 2차원 리스트
1. 리스트(list)의 이해
01. 리스트의 이해
◼ 리스트의 개념
4/40
01. 리스트의 이해
◼ 리스트의 개념
• 리스트의 첨자가 순서대로 변할 수 있도록 반복문과 함께 활용
5/40
01. 리스트의 이해
◼ 리스트의 개념
• 리스트(list): 하나의 변수에 여러 값을 할당하는 자료형이다(대괄호 [ ]를 이용)
[ 리스트의 예 ]
6/40
01. 리스트의 이해
◼ 리스트의 개념
• 리스트 자료 생성하기(week3 > list1.py)
varB = list(“python”)
print(varB)
print(type(varB))
7/40
01. 리스트의 이해
◼ 리스트의 개념
• 리스트 자료 생성하기 (week3 > list1.py)
varB = list(“python”)
print(varB)
print(type(varB))
8/40
2. 리스트 조작 – 인덱싱, 슬라이싱
02. 리스트 조작
[ 리스트의 인덱싱 ]
10/40
02. 리스트 조작
11/40
02. 리스트 조작
12/40
02. 리스트 조작
13/40
02. 리스트 조작
14/40
02. 리스트 조작
15/40
02. 리스트 조작
s = [‘M’, ‘o’, ‘n’, ‘t’, ‘y’, ‘ ‘, ‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]
print(s[0]) #M
print(s[6:10]) # [‘P’, ‘y’, ‘t’, ‘h’]
print(s[-12:-7]) # [‘M’, ‘o’, ‘n’, ‘t’, ‘y’]
16/40
02. 리스트 조작
17/40
02. 리스트 조작
18/40
02. 리스트 조작
19/40
02. 리스트 조작
◼ 실습
• 리스트 슬라이싱(list_slicing1.py)
print(listA[1])
print(listA[0])
print(listA[1:])
print(listA[:3])
print(listA[1:4:2])
print(listA[::-1])
20/40
02. 리스트 조작
◼ 실습(list_slicing2.py)
• 리스트 슬라이싱 연습 – 실행결과와 같이 출력되도록 코딩하시오
<실행 결과>
apple
[‘mango’, ‘banana’]
[‘banana’, ‘kiwi’]
[‘orange’, ‘apple’, ‘banana’]
21/40
2. 리스트 조작 – 연산
02. 리스트 조작
◼ 리스트의 연산
• 덧셈 연산 : 덧셈 연산을 하더라도 따로 어딘가 변수에 할당해 주지 않으면 기존
변수는 변화가 없다
23/40
02. 리스트 조작
◼ 리스트의 연산
• 곱셈 연산 : 리스트의 곱셈 연산은 기준 리스트에 n을 곱했을 때, 같은 리스트를
n배만큼 늘려 준다.
24/40
2. 리스트 조작 – 추가, 삭제
02. 리스트 조작
◼ 리스트 추가 및 삭제
• append( ) 함수 : 새로운 값을 기존 리스트의 맨 끝에 추가
26/40
02. 리스트 조작
◼ 리스트 추가 및 삭제
• insert( ) 함수 : 기존 리스트의 i번째 인덱스에 새로운 값을 추가, i번째 인덱스를
기준으로 뒤쪽의 인덱스가 하나씩 밀림.
27/40
02. 리스트 조작
◼ 리스트 추가 및 삭제
• remove( ) 함수 : 리스트 내의 특정 값을 삭제.
28/40
02. 리스트 조작
◼ 리스트 추가 및 삭제
• 인덱스의 재할당 : 인덱스에 새로운 값을 할당한다.
29/40
02. 리스트 조작
◼ 리스트 추가 및 삭제
[ 리스트 추가 및 삭제 함수 ]
30/40
2. 리스트 조작 – 패킹, 언패킹
02. 리스트 조작
◼ 패킹과 언패킹
• 패킹(packing): 한 변수에 여러 개의 데이터를 할당하는 것.
32/40
02. 리스트 조작
◼ 패킹과 언패킹
• 다음 코드처럼 리스트에 값이 3개인데, 5개로 언패킹을 시도한다면 어떤 결과가
나올까? 다음 코드에서 보는 것처럼 언패킹 시 할당받는 변수의 개수가 적거나
많으면 모두 에러가 발생한다.
33/40
3. 2차원 리스트
03. 2차원 리스트
◼ 2차원 리스트의 개념
• 1차원 리스트를 여러 개 연결한 것, 첨자를 2개 사용
35/40
03. 2차원 리스트
◼ 이차원 리스트
• 리스트를 효율적으로 활용하기 위해 여러 개의 리스트를 하나의 변수에 할당하
는 이차원 리스트를 사용할 수 있다.
36/40
03. 2차원 리스트
◼ 이차원 리스트
• 이차원 리스트를 하나의 변수로 표현하기 위해서는 다음과 같이 코드를 작성하면 된다.
kor_score 49 79 20 100 80
midterm_score math_score 43 59 85 30 90
eng_score 49 79 48 60 100
37/40
03. 2차원 리스트 [ midterm_score ]
행 => [0] 49 79 20 100 80
[1] 43 59 85 30 90
[2]
49 79 48 60 100
◼ 이차원 리스트 [0] [1] [2] [3] [4]
38/40
03. 2차원 리스트 [ midterm_score ]
행 => [0] 49 79 20 100 80
[1] 43 59 85 30 90
[2]
49 79 48 60 100
◼ 이차원 리스트 실습(midterm_score.py) [0] [1] [2] [3] [4]
• 결과화면
[[49, 79, 20, 100, 80], [43, 59, 85, 30, 90], [49, 79, 48, 60, 100]]
39/40