- 는 개념 정리
- 는 개인적으로 새롭게 알게 된 점

0. Python 자료형

파이썬 자료형 중 5가지 정리.
- Number (수치형) 자료
- String (문자열) 자료
- List (리스트) 자료
- Dictionary (딕셔너리) 자료
- Tuple (튜플) 자료
혼공파 2장에서 수치형 자료와 문자열 자료에 대해 공부했고,
본 4장에서 리스트 자료형과 딕셔너리 자료형에 대해 공부함.
+추가) 5장에서 튜플 공부.
1. 리스트 (list)
리스트(list) 정의
- 사전적 의미: 목록
- 파이썬에서의 리스트: 자료를 저장할 수 있는 자료
- 지금가지 활용한 숫자, 문자 등이 개별적인, 독립적인 '자료' 였다면
- 리스트는 이러한 자료들을 모아서 사용할 수 있게 해주는 특별한 형태의 자료.
리스트 선언과 접근
list_a = [273, 32, "문자열", True, False]
1. 리스트 생성
- 대괄호 [] 에 자료를 쉼표로 구분해서 입력
- 대괄호 [] 내부에 넣는 자료를 요소, element 라고 함.
- 리스트는 한 가지 자료형만으로 구성할 수 있고, 여러 종류의 자료형으로 구성할 수 있음.
2. 리스트 접근
- 리스트 안에 있는 요소를 각각 사용하려면, 리스트 이름 바로 뒤에 대괄호 [] 를 입력하고, 자료의 위치를 나타내는 숫자를 입력
- 자료의 위치를 나타내는 숫자를 인덱스, index 라고 함.
3. 리스트 요소 변경
CODE
list_a = [273, 32, "문자열", True, False]
list_a[0] = "변경"
print(list_a)
OUTPUT
['변경', 32, '문자열', True, False]
리스트 다양한 사용 방법
1. 대괄호 안에 음수를 넣어 뒤에서부터 요소를 선택할 수 있음.
CODE
list_a = [1,2,3,4,5]
print(list_a[-1])
OUTPUT
5
2. 리스트 접근 연산자를 이중으로 사용할 수 있음.
CODE
list_a = [273, 32, 102, "문자열", True, False]
print(list_a[3])
print(list_a[3][0])
OUTPUT
'문자열'
'문'
3. 리스트 안에 리스트를 사용할 수 있음.
CODE
list_a = [[1,2,3], [4,5,6], [7,8,9]]
print(list_a[1])
print(list_a[1][1])
OUTPUT
[4,5,6]
[5]
리스트 연산자
- 문자열과 리스트는 굉장히 비슷한 자료형
- 사용할 수 있는 연산자와 함수가 비슷
- 연결 (+)
- 반복 (*)
- len ()
CODE
list_a = [1,2,3]
list_b = [4,5,6,7]
print(list_a + list_b)
print(list_a * 3)
print(len(list_a))
OUTPUT
[1,2,3,4,5,6,7]
[1,2,3,1,2,3,1,2,3]
3
리스트에 요소 추가하기 (append, insert, extend)
- 리스트명.append(요소) : 리스트 뒤에 요소를 추가함.
- 리스트명.insert(위치, 요소) : 리스트의 중간 (index)에 요소를 추가함.
CODE
list_a = [1,2,3]
list_a.append(4)
print(list_a)
print()
list_a.insert(0,10)
print(list_a)
OUTPUT
[1,2,3,4]
[10,1,2,3,4]
append() 함수와 insert() 함수는 리스트에 요소 하나를 추가함.
한 번에 여러 요소를 추가하기 위해서는 extend() 함수 사용. extend() 함수는 매개변수로 리스트 입력.
- 리스트명.extend(요소): 원래 리스트 뒤에 새로운 리스트의 요소를 모두 추가함.
리스트 연결 연산자와 요소 추가의 차이
- 리스트 연결 연산자: 비파괴적 처리
- 리스트 요소 추가: 파괴적 처리
비파괴적 처리란?
원본에 어떠한 영향도 주지 않는 함수 또는 연산.
파괴적 처리란?
원본에 직접적인 영향을 주는 함수 또는 연산.
원래 자료는 비파괴적으로 사용하는 것이 편리함. 비파괴적으로 사용하면, 원본도 활용할 수 있고, 새로운 결과도 활용할 수 있으므로 선택지가 더 넓기 때문. 그래서 기본적인 모든 것들은 비파괴적으로 작동함.
하지만 리스트는 용량이 매우 클 수 있고, 프로그래밍 언어 입장에서 용량이 얼마나 큰지도 모르는 것을 '원본'과 '결과' 라는 두 가지로 생성하는 것은 위험할 수 있음. 따라서 파이썬 프로그래밍 언어는 원본을 직접적으로 조작하는 기능을 제공해서 이러한 위험을 피함.
리스트에 요소 제거하기
리스트의 요소 제거하는 방법은 크게 두 가지로 나뉨.
1. 인덱스로 제거하기
2. 값으로 제거하기
1. 인덱스로 제거하기
인덱스로 제거한다는 것은 요소의 위치를 기반으로 요소를 제거하는 것.
- del 키워드
- del 리스트명[인덱스]
- 함수가 아닌, 키워드
- 범위를 지정해 리스트의 요소를 한꺼번에 제거할 수 있음.
- pop () 함수
- 리스트명.pop(인덱스)
- 해당 인덱스의 요소를 출력함.
- pop() 함수의 매개변수에 아무 것도 입력하지 않으면 자동으로 -1이 들어가는 것으로 취급해서 마지막 요소 제거.
del 키워드는 범위를 지정해서 삭제 할 때,
pop() 함수는 삭제할 요소를 출력할 때 사용하면 편리함. (책에서는 pop() 함수도 요소를 제거하기 위한 목적으로만 사용되는 경우가 많아서 'pop() 함수를 사용했을 때는 해당 인덱스의 요소가 출력된다' 등은 무시해도 괜찮다고 함)
CODE
list_a = [0,1,2,3,4,5]
del list_a[1:4]
print(list_a)
print()
list_a.pop(0)
print(list_a)
OUTPUT
[1,4,5]
[4,5]
2. 값으로 제거하기
값으로 제거한다는 것은 값을 지정해서 제거한다는 것.
- remove()
- 리스트.remove(값)
- remove() 함수로 지정한 값이 리스트 내부에 여러 개 있어도 가장 먼저 발견되는 하나만 제거함.
- 만약 리스트에 중복된 여러 개의 값을 모두 제거하려면 반복문과 조합해서 사용해야 함. (while 반복문을 살펴볼 때 알아봄)
CODE
list_c = [1,2,1,2]
list_c.remove(2)
print(list_c)
OUTPUT
[1,1,2]
3. 모두 제거하기
리스트 내부의 요소를 모두 제거할 때
- clear()
- 리스트.clear()
CODE
list_d = [1,2,3,4]
list_d.clear
print(list_d)
OUTPUT
[] #요소 모두 제거
리스트 내부에 있는지 확인하기 : in/not in 연산자
- 값 in 리스트
- 리스트 내부에 값이 있으면 True, 없으면 False 출력
리스트에 적용할 수 있는 기본 함수: min(), max(), sum()
- min(): 리스트 내부에서 최솟값을 찾음
- max(): 리스트 내부에서 최댓값을 찾음
- sum(): 리스트 내부에서 값을 모두 더함
'Python Basic > 혼공파' 카테고리의 다른 글
[혼공파] Chapter 04 반복문 ③for 반복문과 while 반복문 (0) | 2021.01.11 |
---|---|
[혼공파] Chapter 04 반복문 ②딕셔너리 (0) | 2021.01.11 |
[혼공파] Chapter 03 조건문 (0) | 2021.01.07 |
[혼공파] Chapter 02 자료형 (0) | 2021.01.07 |
[혼공파] Chapter 01 파이썬 시작하기 (0) | 2021.01.07 |