[Python] 연습

[AIFB] Python Basic

Simon Yoon 2022. 8. 12. 23:22

학습목표

데이터 분석을 위해 필요한 Python 데이터 관련 함수를 이해하기

 

why Python?

- AI packages, libraries 활용

- 데이터 분석, 전처리를 보다 직관적이고 쉽게

- AI 알고리즘 활용 호환


데이터 관련 함수 사용 이해

keywords: tuple, slicing, list, indexing, dictionary

 

indexing: 특정한 값을 뽑아내는 역할

indexing 예시

 

인덱싱의 형태

x[번호]

> Python은 숫자를 0부터 셈

> x[0]는 'R'을 x[-1]은 '!'를 불러올 수 있음. 뒤에서부터 읽는 경우는 -(마이너스 기호)를 붙여줌.

 

Slicing: 한 문자만이 아니라 단어를 뽑아내는 능력

슬라이싱의 형태

x[시작번호:끝번호]

> 단, 번호를 지정할 때 끝 번호에 해당하는 것은 포함하지 않음

    x[0:4] → Rome

> 끝 번호를 삭제한다면 시작번호부터 끝까지 다 출력함

    x[12:] → built in a day!

> 슬라이싱도 인덱싱과 마찬가지로 -(마이너스) 기호를 사용할 수 있음

    x[12:-7] → built in: x[12]부터 x[-8]까지를 의미


다른 자료형: string(문자형), integer(정수형), float(소수)

 

list 자료형: 순서대로 정리된 항목들을 담는 구조(특정 데이터를 반복적으로 처리하는데 특화)

> 리스트는 []으로 감싸주고 각 요소는 ,(콤마)로 구분

    numList = [1, 2, 3]

> 리스트명 = list(range(시작값, 종료값, 증가or감소))

    b = list(range(1, 10, 2))

 

• list 관련 함수

리스트 변수 이름 뒤에 '.'을 붙여서 여러가지 함수를 사용할 수 있음

함수 내용 문법 사용예시
append 리스트의 끝에 요소 추가 리스트.append(요소) a.append(4)
insert 리스트의 특정 인덱스에 요소 추가 리스트.insert(인덱스, 요소) a.insert(1, 4) /
a.insert(1, 'corn')
extend 리스트1에 리스트2를 연결해 확장 리스트1.extend(리스트2) a.extend(b) /
a.extend([4, 5])
remove 리스트의 특정값의 요소를 삭제 리스트.remove(요소) a.remove(3)
count 리스트 중 특정 값을 가진 요소의 개수를 카운트 리스트.count(요소) a.count(1)
sort 리스트 내 요소를 오름차순으로 정리
내림차순 → reverse = True
리스트.sort()
리스트.sort(reverse = True)
a.sort()
a.sort(reverse = True)
pop 리스트의 맨 마지막 요소를 돌려주고 그 요소를 삭제 리스트.pop() a.pop()
pop 리스트의 x번째 요소를 돌려주고 그 요소를 삭제 리스트.pop(인덱스) a.pop(1)

 

Tuple 자료형: 리스트와 거의 유사하고 사용법도 동일함

> 리스트는 []으로 둘러싸지만 튜플은 ()으로 둘러쌈

> 리스트와 달리 요소들의 수정과 추가 불가

b = (1, 2, 3)
b = 1, 2, 3  # ()괄호를 사용하지 않고도 튜플 생성이 가능함

• Tuple의 장점

> 반복 처리시 리스트에 비해 근소하게 빠름

> 요소 변경이 불가하므로 딕셔너리의 키로 사용할 수 있음

> 보안이 필요한 데이터를 보호하는데 주로 사용됨


Dictionary 자료형: 사전이 단어와 뜻으로 구성이 되는 것처럼, key와 value를 한 쌍으로 갖는 자료형

    dic = {'name':'dany', 'phone':'01012341234', 'birth':'840101'}

> 딕셔너리 key 값으로 튜플은 사용 가능하지만 리스트는 사용 불가

 

• Dictionary 관련 함수

> 리스트 고유함수 append, insert, remove, sort는 사용할 수 없음

> key 및 value의 추가/수정/삭제

 

• List, Tuple, Dictionary 차이

구분 설명
리스트(List) 순서대로 정리된 항목들을 담는 자료구조
튜플(Tuple) 리스트와 비슷하지만 수정이 불가능한 자료구조, 주로 문자열과 같은 비정적인 객체를 담음
딕셔너리(Dictionary) key와 value로 구성되는 자료구조