고려사이버대학교
[파이썬 5주차] 데이터 타입을 알아보자 (2)
꿈돌이.
2022. 3. 29. 18:26
파이썬 5주차는 지난번 데이터 타입을 이어서 알아보는 시간이다. 데이터 타입은 '숫자형, 문자열 자료형, 리스트(튜플), 딕셔너리, 집합, 불 자료형' 총 6종류가 있다고 설명한 바 있다. 4주차에서 숫자형, 문자열, 리스트 자료형을 알아보았고, 이번 시간에는 튜플, 딕셔너리, 집합, 불 자료형을 알아보자.
1. 튜플 자료형
- 튜플과 리스트 자료형의 차이점
튜플 자료형은 리스트와 유사하다. 리스트는 '대괄호[ ]'로 둘러쌓여져 있고, 생성·삭제·수정이 가능하다. 반면 튜플은 '소괄호( )'로 둘러쌓여져 있고, 값을 변경하는 것이 불가능하다.
리스트 | 집합 | 튜플 |
[ ] 대괄호 사용 | { } 중괄호 사용 | ( ) 소괄호 사용 |
생성 / 삭제 / 수정 가능 | 생성 / 삭제 / 수정 가능 | 값 변경 불가능 |
- 튜플 다루기
① 인덱싱 하기
t1 = (1, 2, 'a', 'b')
t1[0]
>> 1
t1[3]
>> 'b'
② 슬라이싱 하기
t1 = (1, 2, 'a', 'b')
t1[1:] # 배열 [1]부터 끝까지
>> (2, 'a', 'b')
튜플보다 리스트 자료형을 더 많이 사용한다.
2. 딕셔너리 자료형
딕셔너리는 Key와 Value를 한쌍으로 갖는 자료형이다.
- 딕셔너리의 선언
{Key1:Value1, Key2:Value2, Key3:Value3, … }
- 딕셔너리 다루기
딕셔너리에서 Key를 사용해 Value 얻기
score = {'pey':40, 'juliet':99, 'tom':70}
score['pey']
>> 40
score['tom']
>> 70
- Keys()
key값만 따로 모아서 dict_keys 객체 반환
a = {'name':'pey', 'phone':'01022223333', 'birth':'1115'}
a.keys()
>> dict_keys(['name', 'phone', 'birth'])
- Values()
Key와 반대로 Value값만 모아서 dict_value 객체 반환
a = {'name':'pey', 'phone':'01022223333', 'birth':'1115'}
a.values()
>> dict_values(['pey', '01022223333', '1115'])
3. 집합 자료형
집합 자료형은 Set 키워드를 사용하여 생성한다( { } 중괄호 사용). 특징으로 중복을 허용하지 않고, 리스트나 튜플과 다르게 순서가 없다.
s1 = set('apple')
s1
>> {'a', 'e', 'l', 'p'}
4. 불 자료형
불 자료형은 데이터가 있으면 True를 반환, 값이 없으면 False를 반환한다.
print(bool("python"))
print(bool(""))
>> True
>> False
실습 예제
- 텍스트 데이터 전처리
다양한 데이터 소스로부터 주소를 받아 표현할 때, 몇 가지의 경우로 서울을 표현하는지 알아보자.
addr1_str = "서울시 서울특별시 seoul"
addr2_str = "서울 Seoul 서울-특별시"
addr3_str = "서울 서울-시"
문자열 합치기
addr_str = addr1_str + " " + addr2_str + " " + addr3_str #문자열 합치기
print(addr_str)
>> 서울시 서울특별시 seoul 서울 Seoul 서울-특별시 서울 서울-시
소문자로 변환하기
addr_str=addr_str.lower() #합친 문자열 소문자로 변환
print(addr_str)
>> 서울시 서울특별시 seoul 서울 seoul 서울-특별시 서울 서울-시
리스트 자료형으로 문자열 나누고, 중복 없애기
addr_list = addr_str.split() #문자열 나누기
print(addr_list)
len(addr_list)
addr_list = list(set(addr_list) #리스트 자료형으로 중복 없애기
print(addr_list)
>> ['서울시', '서울특별시', 'seoul', '서울', 'seoul', '서울-특별시', '서울', '서울-시']
>> ['서울-특별시', 'seoul', '서울', '서울시', '서울-시', '서울특별시']