-
Python의 data typeAI/기초공부 2021. 9. 15. 17:19
a = [1, 2, 3, 4, 5] # list형 데이터 b = (1, 2, 3, 4, 5) # tuple형 데이터 c = {'kim':1, 'lee':2, 'park':3} # dictionary형 데이터 d = 'Seoul, Tokyo' # String형 데이터 e = [[1, 2], [10, 20], [100, 200]] # list를 요소로 갖는 list형 데이터 print("type(a): ", type(a)) # list print("type(b): ", type(b)) # tuple print("type(c): ", type(c)) # dictionary print("type(d): ", type(d)) # string print("type(e): ", type(e)) # list print("len(a): ", len(a)) # 5개의 요소로 구성된 list print("len(b): ", len(b)) # 5개의 요소로 구성된 tuple print("len(c): ", len(c)) # 3개의 요소(item)로 구성된 dictionary print("len(d): ", len(d)) # 12개의 요소(문자)로 구성된 string print("len(e): ", len(e)) # 3개의 요소(list)로 구성된 list print(list(c.keys())) # dict c의 key 값들을 list로 만들어 반환 print(list(c.values())) # dict c의 value 값들을 list로 만들어 반환 print(list(c.items())) # dict c의 item(key+val)값들을 list로 만들어 반환 print(list(d)) # string d의 문자들을 list로 만들어 반환
# List
- 배열과 유사한 python의 데이터 타입
- 대괄호를 사용하여 list생성
- list의 인덱스는 다른 언어와 마찬가지로 0부터 시작
- 다른 언어와 달리 마이너스(-) 인덱스가 지원되어 역순으로 리스트 내 값을 참조할 수 있음
-> 머신러닝 코드에서 슬라이스와 함께 자주 사용되는 데이터 타입
- list의 각 요소의 데이터타입을 다르게 해서 생성할 수 있고, list내에 다른 list를 포함할 수 있다.
- 비어있는 list를 생성한 후 append() 메소드를 통해 데이터를 추가 할 수 있다. (머신러닝에서 자주 사용되는 방식)
- 슬라이싱: List를 대상으로 콜론(:)을 이용하여 특정 범위의 부분 리스트를 얻는 기능 (머신러닝의 필수 기능)
# List a = [10, 20, 30, 40, 50] print(a) print("a[0]: ", a[0]) # 1번째 요소인 10 출력 print("a[2]: ", a[2]) # 3번째 요소인 30 출력 print("a[4]: ", a[4]) # 5번째 요소인 50 출력 print("a[-1]: ", a[-1]) # 뒤에서 1번째 요소인 50 출력 print("a[-3]: ", a[-3]) # 뒤에서 3번째 요소인 30 출력 print("a[-5]: ", a[-5]) # 뒤에서 5번째 요소인 50 출력 b = [1, 5.5, "Hello", [True, 10.0]] print(b) print("b[3]: ", b[3]) # 4번째 요소인 [True, 10.0] 출력 print("b[3][0]: ", b[3][0]) # 4번째 요소의 1번째 요소인 True 출력 print("b[3][1]: ", b[3][-1])# 4번째 요소의 뒤에서 1번째 요소인 10.0 출력 c = [] # 비어있는 리스트 생성 c.append(1) # 정수 데이터 추가 c.append(5.5) # 실수 데이터 추가 c.append("Hello") # 문자열 데이터 추가 c.append([True, 10.0]) # 리스트 데이터 추가 print(c) d = [1, 2, 3, 4, 5] print("d[0:3]: ", d[0:3]) # 인덱스 0부터 2(3-1)까지 출력 print("d[:3]: ", d[:3]) # 인덱스 처음부터 2(3-1)까지 출력 print("d[0:-2]: ", d[0:-2]) # 인덱스 0부터 -3(-2-1)까지 출력 print("d[-2:]: ", d[-2:]) # 인덱스 -2부터 끝까지 출력 print("d[:]: ", d[:]) # 인덱스 처음부터 끝까지 출력
# Tuple
- list와는 달리 소괄호를 사용하여 tuple생성
- list는 요소값의 변경이 가능하지만, tuple은 요소값의 변경이 불가능함.
# Tuple a = (10, 20, 30, 40, 50) print(a) print("a[0]: ", a[0]) print("a[2]: ", a[2]) print("a[4]: ", a[4]) a[4] = 55 # tuple의 요소값은 변경할 수 없음(TypeError 발생) print(a) # TypeError 발생
# Dictionary
- 중괄호를 사용하여 dictionary 생성
- Java의 Map과 유사한 자료구조
- 키(key)와 값(value)쌍이 저장되며 키와 값은 콜론(:)으로 구분
# Dictionary a = {"kim":10, "lee":20, "park":30} print(a) print("a['kim']: ", a['kim']) # key값이 'kim'인 요소의 value값 출력 print("a['park']: ", a['park']) # key값이 'park'인 요소의 value값 출력 a['han'] = 40 # dictionary에 새 요소 추가(순서보장 안됨) print(a) a['kim'] = 0 # dictionary의 key값이 'kim'인 요소의 value값 변경 print(a) # key값은 중복될 수 없다 print("a keys: ", a.keys()) # dictionary a의 key값 출력 print("a values: ", a.values()) # dictionary a의 value값 출력 print("a items", a.items()) # dictionary a의 item 출력
# String
- 작은따옴표('') 또는 큰따옴표("")를 사용하여 String생성
- list와 마찬가지로 인덱스가 존재하여 인덱스를 통해 각 문자에 접근 가능
- 문자열(String)내의 각각의 문자 또한 문자열(String) 타입의 데이터임
# String a = "string" print(a) print("a[0]: ", a[0]) # String 또한 인덱스로 각 문자에 접근가능 a = a + ", integer" # (+)연산자를 통해 문자열 변경가능 a = a + ", double" print("a: ", a) b = a.split(',') # split(): String을 특정 seperator를 기준으로 분리하여 list로 반환 print("b: ", b) print("b[0]: ", b[0]) # list의 1번째 요소 출력
# 유용한 함수
- type(data): data의 데이터 타입을 반환
- len(data): data의 길이(요소의 개수)를 반환
- list(data): data를 리스트로 만들어 반환
- str(data): data를 문자열로 만들어 반환
- int(data): data가 문자열 형태로 입력되는 숫자(정수, 실수)인 경우 정수형태로 만들어 반환
a = [1, 2, 3, 4, 5] # list형 데이터 b = (1, 2, 3, 4, 5) # tuple형 데이터 c = {'kim':1, 'lee':2, 'park':3} # dictionary형 데이터 d = 'Seoul, Tokyo' # String형 데이터 e = [[1, 2], [10, 20], [100, 200]] # list를 요소로 갖는 list형 데이터 print("type(a): ", type(a)) # list print("type(b): ", type(b)) # tuple print("type(c): ", type(c)) # dictionary print("type(d): ", type(d)) # string print("type(e): ", type(e)) # list print("len(a): ", len(a)) # 5개의 요소로 구성된 list print("len(b): ", len(b)) # 5개의 요소로 구성된 tuple print("len(c): ", len(c)) # 3개의 요소(item)로 구성된 dictionary print("len(d): ", len(d)) # 12개의 요소(문자)로 구성된 string print("len(e): ", len(e)) # 3개의 요소(list)로 구성된 list
'AI > 기초공부' 카테고리의 다른 글
AI(Artificial Intelligence)란! (0) 2021.09.14