Ⅰ. 리스트 자료형
1. 컬렉션 자료형
- 컬렉션
- 여러 개의 값을 하나의 변수에 담을 수 있음
- 변수 안에 공간을 여러 개 가짐
- 변수 안에 서로 다른 공간을 찾는 방법이 있음
2. 컬렉션 자료형의 종류
컬렉션 자료형 종류 | 생성방법 |
리스트(list) | [ ] |
튜플(tuple) | ( ) |
딕셔너리(dictionary) | {키:값} |
세트(set) | { } |
3. 리스트 자료형
- 많은 양의 데이터들을 한 번에 모아 효율적으로 처리하고 저장할 수 있음
- 하나의 리스트 변수를 이용하여 여러 데이터를 효율적으로 저장하고 처리
4. 리스트 문법
- 대괄호[ ] 안에 서로 다른 자료형의 값을 콤마(,)로 구분
→ ex) 리스트명 = [값1, 값2, 값3, ...]
- 빈 리스트 생성과 리스트 초기화
# Example
a = [] # 빈 리스트 생성
b = list() # 리스트 초기화
c = [1, 2, 3, 4, 5] # (숫자열 리스트)
d = ['Hello', 'Python'] # (문자열 리스트)
# 리스트는 여러가지 종류도 섞어서 가능
e = [1, 2, 'Hello', [10, 20]] # 숫자열 & 문자열 리스트
5. 리스트 인덱싱(Indexing) 및 슬라이싱(Slicing)
- 리스트도 문자열처럼 인덱싱과 슬라이싱이 가능
- 리스트 인덱싱
# Example
a = [10, 20, 30, 40]
print(a[0]) # 10 (리스트 첫 번째 값을 가져옴)
print(a[0] + a[1]) # 30
print(a[-1]) # 40 (리스트 마지막 값을 가져옴)
print(a[4]) # a[4]의 공간은 없으므로 오류발생
- 리스트 슬라이싱
- 슬라이싱은 새로운 리스트를 반환
- a[ : ] 로 사용
6. 리스트 값 변경
- 리스트의 값을 변경하기 위해서는 첨자(인덱스)를 사용해서 그 위치의 값을 변경
# Example
a = [10, 20, 30]
a[0] = 100
print(a) # [100, 20, 30]
a[1:3] = [90, 100]
print(a) # [100, 90, 100]
7. 리스트 조작함수
- 문자열과 마찬가지로 리스트도 리스트변수 이름 뒤에 마침표(.)를 붙인 다음 함수 이름을 사용
함수 | 설명 | 사용법 |
append( ) | 리스트에 요소를 마지막 위치에 새로 추가 | 리스트.append(값) |
insert( ) | 리스트의 해당 위치에 요소를 새로 삽입 | 리스트.insert(위치, 값) |
sort( ) | 오름차순 정렬 내림차순 정렬 |
리스트.sort( ) 리스트.sort(reverse = Ture) |
reverse( ) | 현재의 리스트를 그대로 거꾸로 뒤집음 | 리스트.reverse( ) |
pop( ) | 리스트 제일 뒤의 항목을 빼내고, 빼낸 항목은 삭제 제거할 위치에 있는 요소를 제거 |
리스트.pop( ) 리스트.pop(위치) |
remove( ) | 해당 요소를 찾아 삭제 | 리스트.remove(삭제할 값) |
count( ) | 해당 요소의 개수를 반환 | 리스트.count(찾을 값) |
index( ) | 리스트에 위치 값이 있으면 위치값을 반환 | 리스트.index(값) |
len( ) | 리스트 총 요소 개수를 반환 | len(리스트) |
- append(x) 함수 : 리스트 맨 마지막에 x의 값을 추가
- insert(index, x) 함수 : 리스트의 원하는 위치에 값을 추가. 리스트 위치에 x의 값을 넣음
# Example
a = [10, 20]
a.append(30) # a에 30 추가
print(a) # [10, 20, 30]
a.append([40, 50]) # 리스트에 리스트도 추가 가능
print(a) # [10, 20, 30, [40, 50]]
a.insert(1, 15) # 1번째 위치의 값을 15로 변경
print(a) # [10, 15, 20, 30, [40, 50]]
- sort( ) 함수
- 리스트를 정렬할 때 사용
- sort( ) : 오름차순 정렬
- sort(reverse = True) : 내림차순 정렬
# Example
a = [8, 6, 5, 2, 4]
a.sort() # 오름차순 정렬
print(a) # [2, 4, 5, 6, 8]
a.sort(reverse = True) # 내림차순 정렬
print(a) # [8, 6, 5, 4, 2]
a = ['haha', 'aa', 'pupu']
a.sort() # 알파벳 정렬
print(a) # ['aa', 'haha', 'pupu']
a = ['리스트', '튜플', '딕셔너리', '세트']
a.sort() # 한글정렬
print(a) # ['딕셔너리', '리스트', '세트', '튜플']
a.sort(reverse = True) # 내림차순 정렬
print(a) # ['튜플', '세트', '리스트', '딕셔너리']
- pop( ) 함수 : 리스트 맨 뒤의 값을 빼내고, 뺴낸 항목은 삭제
- pop(index) 함수 : 리스트에서 index가 가리키는 값을 빼내고, 빼낸 항목은 삭제
- remove(x) 함수 : 리스트에서 x를 삭제하는 함수 (단, x값이 중복되면 가장 앞의 값만 삭제)
# Example
a = [10, 20, 30, 40]
a.pop() # 맨 뒤의 값을 삭제
print(a) # [10, 20, 30]
a.pop(1) # 1의 위치에 있는 값 삭제
print(a) # [10, 30]
a.remove(30) # 값 30 삭제
print(a) # [10]
a.remove(0) # 없는 값은 삭제 불가능(오류발생)
- count( ) 함수 : 리스트에서 찾을 값의 개수를 셈
# Example
a = [10, 20, 30, 20]
print(a.count(20)) # 2 (값 20의 개수를 셈)
a = ['박수지', '배수지', '배수지']
print(a.count('배수지')) # 2 (값 배수지의 개수를 셈)
- index( ) 함수 : 리스트에서 값의 위치 변환
# Example
a = [10, 20, 30]
print(a.index(20)) # 1 (값 20 이 있는 위치를 나타냄)
print(a.index(10)) # 0
'Programming Language > Python' 카테고리의 다른 글
컬렉션 자료형 - 3. 세트 자료형 (0) | 2022.08.15 |
---|---|
컬렉션 자료형 - 2. 튜플 & 딕셔너리 (0) | 2022.08.09 |
기본 자료형 (0) | 2022.08.07 |
입력과 출력 (0) | 2022.08.06 |
변수와 연산자 - 4. 연습문제 (0) | 2022.08.06 |