목록패스트캠퍼스 - 자료구조와 알고리즘 (24)
프론트엔드 정복하기
큐(queue)는 기본적으로 FIFO 정책을 갖는다. : First-in-First-out 파이썬에서 큐 라이브러리를 제공하는데 이를 쓸 수 있다. import queue data_queue = queue.Queue() data_queue.put('...') # 큐에 데이터 삽입 data_queue.qsize() # 큐에 있는 데이터 개수 산출 data_queue.get() # 큐에 가장 먼저 삽입된 데이터 꺼내기 LIFO 정책인 큐도 있다. Last-in-First-out import queue data_queue = queue.LifoQueue() data_queue.put('...') # 큐에 데이터 삽입 data_queue.qsize() # 큐에 있는 데이터 개수 산출 data_queue.get(..
집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. 집합 자료형 만들기 s = set("Hello") # {'e', 'H', 'l', 'o'} 위 결과를 보면 Hello와는 달리 결과값이 뒤죽박죽이다. set에는 다음과 같은 2가지 특징이 있다. 중복을 허용하지 않는다. 순서가 없다. 리스트, 튜플은 순서가 있어 index로 값을 얻을 수 있었으나 set은 그렇지 않다. ** index로 접근하고 싶다면, list, tuple로 랩핑해 리스트 또는 튜플로 변환 후 접근하면 된다. 아래와 같은 자료형이 있다. s1 = set([1, 2, 3, 4, 5, 6]) s2 = set([4, 5, 6, 7, 8, 9]) 교집합 구하기 s1 & s2..
딕셔너리 쌍 추가 a = {1:'a'} a[2] = b # a = {1:'a', 2:'b'} 딕셔너리 요소 삭제 a = {1:'a', 2:'b'} del a[1] # a = {2:'b'} key 객체(dict_keys) 만들기 a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'} a.keys() # dict_keys(['name', 'phone', 'birth']) # 파이썬 3.0 이후에는 a.keys() 반환값으로 객체를 돌려준다. (기존엔 리스트 반환) # 따라서 리스트로 사용하고 싶은 경우 list(a.keys()) 로 사용해야 한다. # 하지만 리스트로 반환하지 않아도 반복 구문을 실행할 수 있다. # 리스트로 변환 list(a.keys())..
튜플은 불변한 순서가 있는 객체의 집합니다. list형과 비슷하지만, 한 번 생성되면 값을 변경할 수 없다. (재할당, 수정 등 불가) index로 접근 가능 ( tuple[1:5]] ) len 내장함수로 길이 측정 가능 for문 가능 +연산자로 추가 가능 ( tuple = tuple + (1,2) ) * 연산자로 반복 가능 tuple in tuple 가능 ex: ( (1,2),(3,4) ) ** 튜플을 ()에 입력했지만 괄호가 필수 조건은 아니다. p =1,2,3 type(p) # ** 원소가 1개인 경우 type이 튜플이 되지는 않지만, 1개 원소 뒤 콤마가 있으면 tuple 유지 h = (350) type(h) # h = (350,) type(h) # len(h) # 1 아래같은 할당도 가능하다. ..
여러 개의 변수를 한 번에 선언하고 싶다면? a=10 a,b=10,20 # 콤마를 이용해 각각 값을 할당 / 좌우 변수와 값의 개수가 같아야 함. a,b=(10,20) # 튜플을 이용해 각각 값을 할당 [a,b]=[10,20] # 리스트를 이용해 각각 값을 할당 a=b=10 # a, b에 똑같은 값을 할당하고 싶을 때 사용 a=None # 비어있는 변수를 만들고 싶을 때 사용 변수의 교환 a=10 b=20000 a,b=b,a
while 문 : 조건이 참일 동안 계속 반복한다. c=5 while c!=0: print(c) c-=1 break문 : while, for 반복문 안에서 특정 조건에서 반복문을 중단 시키고 빠져나올 때 사용한다. continue문 : 반복문을 빠져나오지만 반복문을 중단시키지 않고 다음 반복으로 넘어간다. i = 0 while i < 100: # i가 100보다 작을 때 반복. 0부터 99까지 증가하면서 100번 반복 i += 1 # i를 1씩 증가시킴 if i % 2 == 0: # i를 2로 나누었을 때 나머지가 0이면 짝수 continue # 아래 코드를 실행하지 않고 건너뜀 print(i) #1 3 5 .... 99