[Python] Data Type (list, tuple, dictionary, string)
파이썬 data type인 list, tuple, dictionary, string에 대해서 정리하려고 한다. 1. list 다른 프로그래밍 언어의 '배열(array)'과 비슷한 성질을 갖는 data type이다. list는 쉼표로 data를 분리하여 대괄호로 묶어주어 생성할 수 있다. a = [10, 20, 30, 40, 50] 이러한 list의 각각의 data를 참조하기 위해서는 data의 위치를 나타내주는 index를 사용하며 0부터 시작한다. 파이썬에서는 마이너스(-) index를 지원하여 리스트의 마지막부터 역순으로 값을 참조할 수 있다. (머신러닝 코드에서 slice와 함께 자주 사용된다.) # index 0 1 2 3 4 # value 10 20 30 40 50 # index -5 -4 -3..
[Python] set (집합 자료형)
집합은 중복을 허용하지 않고, 순서가 없다는 특징을 갖고 있다. 집합은 리스트 혹은 문자열을 이용해서 초기화할 수 있다. 이때 set() 함수를 이용한다. 혹은 중괄호({}) 안에 각 원소를 콤마(,)를 기준으로 구분하여 삽입함으로써 초기화할 수 있다. # 집합 자료형 초기화 방법 1 data = set([1, 1, 2, 3, 4, 4, 5]) print(data) # {1, 2, 3, 4, 5} # 집합 자료형 초기화 방법 2 data = {1, 1, 2, 3, 4, 4, 5} print(data) # {1, 2, 3, 4, 5} 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있다. 집합 자료형의 연산에는 합집합, 교집합, 차집합이 있다. 집합 자료형 관련 함수 data = set([1,..
[Python] enumerate 와 zip
1. enumerate enumerate는 열거하다라는 의미로 list의 element를 추출할 때 번호를 붙여서 추출하는 방법이다. 예시1 for i, v in enumerate(['tic', 'tac', 'toe']): print(i, v) #0 tic #1 tac #2 toe 예시2 mylsit = ["a", "b", "c", "d"] li = list(enumerat(mylist)) print(li) #[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')] 예시3 exp = {i:j for i, j in enumerate('This is the example of enumerate.'.split())} print(exp) #{0: 'This', 1: 'is', 2: 'the', ..
[Python] List Comprehension
list comprehension은 기존 list를 사용하여 간단히 다른 list를 만드는 기법이다. 즉, 리스트를 쉽게, 짧게 한 줄로 만들 수 있는 파이썬 문법이다. 일반적으로 for + append 보다 속도가 빠르다. 예시1 number = [] for i in range(10): number.append(i) print(number) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 위의 for + append를 list comprehension형태로 나타내면 다음과 같다. number = [i for i in range(10)] print(number) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 예시2 filter를 사용한 list comprehension이다. 조건(..
[Python] iterable과 iterator
1. Iterable iterable 객체: 반복 가능한 객체 대표적으로 iterable한 타입 - list, dict, set, str, bytes, tuple, range collections.iterable에 속한 instance인지의 확인을 통해 iterable 객체인지 판별할 수 있다. >>> import collections # iterable 한 타입 >>> var_list = [1, 3, 5, 7] >>> isinstance(var_list, collections.Iterable) True >>> var_dict = {"a": 1, "b":1} >>> isinstance(var_dict, collections.Iterable) True >>> var_set = {1, 3} >>> isins..