Activities/빅데이터 분석가 과정

[Python] 02-2. Python 기초 - 여러 가지 자료형

먼치 2024. 3. 31. 02:54
02-2. Python 기초 - 여러 가지 자료형

파이썬의 자료형 
자료형 의미 종류
numbers 숫자형 자료형 int(정수), float(실수), complex(복소수), boolean(true/false)
sequences 연속형 자료형 string(문자열), tuple(튜플), list(리스트)
sets 집합 자료형 set(집합)
mappings 매핑 자료형 dictionary(딕셔너리)
none 자료형 없음 값이 존재하지 않는 빈 변수

 

 

0️⃣ 여러 개의 값을 가지는 자료형의 특징


1. 리스트 [a, b, c, ...]는 수정이 가능하다.
2. 튜플 (a, b, c...)은 한 번 만들면 수정이 불가능하다. 주로 연산 결과를 튜플로 반환한다.
3. 집합 {a, b, c...}은 중복된 값을 제거해 유니크 값을 자동으로 처리가 가능하다.
4. 딕셔너리 {key : value1, value2...}는 key와 value값을 가지며, 미니 데이터베이스(SQL-RDBMS)라고도 불린다. 딕셔너리를 잘 사용하면 코드가 빠르고 편하다. 알고리즘 상 Hash Table을 적용하기 때문이다.

 

이제, 각 자료형에 대해 자세히 알아보자!

 

 

1️⃣ 리스트 (List)

- 리스트는 변수의 모음이다. 한 번 생성 후 자유롭게 수정이 가능하며, 인덱스 값(0부터)을 이용해 원소에 접근이 가능하다. 파이썬을 통한 Stack이나 Queue 등의 자료구조 구현 시 리스트를 사용한다.

- 구조 : a_list = [ ]

- 기능

구분 기능(명령어) 동작 내용 기능(명령어) 동작 내용
추가 append(원소) 리스트의 맨 뒤에 원소 추가 insert(원소, 위치) 지정한 위치에 원소 추가
제거 pop(위치) 지정한 위치의 원소 제거 remove(원소) 지정한 값을 제거
* 중복값이 존재할 경우 맨 앞의 값만 제거

 

- 리스트 연습하기

### 리스트 ###

a_list = [100, 200, "abc", [1,2,3,4]]    # 리스트의 원소는 이질적일 수 있음
# 단, 여러 자료형이 포함될 수 있으니 자료형 핸들링을 잘 해야한다

## append와 insert
a_list.append(2024)
print(a_list)
a_list.insert(1, "2024년")
print(a_list)

print(a_list.pop(3))
a_list.remove(100)
print(a_list)


## return(출력값)
# [100, 200, ‘abc’, [1,2,3,4], 2024]
# [100, ‘2024년’ , 200, ‘abc’, [1,2,3,4], 2024]
# abc
# [’2024년’ ,  200, ‘abc’, [1,2,3,4], 2024]

 

- 리스트의 원소에 접근하기 : 인덱스를 통한 접근

a_list = ['a','b','c','d','e']

a_list[0:2]
## return : ['a', 'b'] -> 시작점부터 끝점-1번째까지 출력

a_list[-1]
## return : 'e' -> 마지막 원소 출력

a_list[::]
## return : ['a', 'b', 'c', 'd', 'e'] -> 전체 원소 출력

a_list[0:4:2]
## return : ['a', 'c'] -> 시작점부터 끝점-1번째 까지 2의 간격으로 출력

 

- 리스트 연산 

a = [1,2,3]
b = ['a','b','c']

a+b
## return : [1,2,3,'a','b','c']

→ 파이썬은 대충 써도 알아서 동작하기 때문에 이러한 예시의 연산이 가능하다.

 

 

2️⃣ 튜플 (Tuple)

- 튜플은 처음 할당 후 수정이 불가능하다. 보통 파이썬 내장 함수의 결과 값은 튜플 형태로 반환되며, 리스트와 동일하게 인덱스 값으로 접근이 가능하다.

- 구조 : a_tuple = ()

 

- 튜플 연습하기

a_tuple = (1,2,3,4,"hello",100)

a_tuple[3:5]
## return : (4, 'hello')

 

 

 

3️⃣ 딕셔너리 (Dictionary)

- 딕셔너리는 key와 value값을 매핑하여 보유한다. 미니 데이터베이스로 코딩테스트에서 매우 유용하게 쓰이며, 리스트, 튜플 등과는 달리 인덱스 번호로 접근이 불가하다. key의 값을 통해 해당 key의 value값에 접근할 수 있다.

- 구조 : a_dict = {'key값' : 'value값', ''' }

- 딕셔너리 연습하기

a_dict = {'a':1234, 'b':5678}

a_dict['a']
## return : 1234

a_dict.keys()
## return : ['a','b'] -> 딕셔너리의 key값들 확인

a_dict.values()
## return : [1234, 5678] -> 딕셔너리의 value값들 확인

a_dict.items()
## return : dict_items([('a', 1234), ('b', 5678)])
## 딕셔너리의 모든 값들 확인

 

 

 

 

4️⃣ 집합 (Set)

- 집합은 중복값을 자동으로 제거하여 유니크 값을 확인할 수 있는 자료형이다. 

- 구조 : a_set = { }

 

- 집합 연습하기

{1,2,3,4,4,4,5,6,5}
## return : {1,2,3,4,5,6}

list(set({1,2,3,4,4,4,5,6,5}))
## return : [1, 2, 3, 4, 5, 6]

 

 

 

 

5️⃣ 문자열 (String)

- 문자열 자료형은 연속된 문자들의 나열이며, 따옴표를 사용하여 생성한다.

 

- 문자열 연습하기

"hello world"

"print \"hello world\""
## return : 'print "hello world"'
## -> 따옴표 앞에 '\'를 입력하면 해당 따옴표를 문자로 인식한다

a = 'hi'
b = 'hello'
a+b
## resutl : 'hihello'
## 파이썬은 여기저기,,,, 대충 다 된다

 

 


자료형 간의 변환

- 파이썬은 어떻게 써도 대충 잘 굴러가도록 만들어 놓았기 때문에, 편의에 따라 자료형을 쉽게 변환할 수 있다. 자료형은 type() 함수를 활용해 확인 가능하다.

 

- 자료형 변환 예제

a = '1' #자료형 string
b = '2' #자료형 string

a+b
## return : '12'-> 자료형 string

int(a)+int(b) 
## return : 3 -> 자료형 int