ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [부캠] Python Data Structure
    카테고리 없음 2021. 1. 20. 23:07
    • 스택(Stack)
    • 큐(Queue)
    • 튜플(Tuple)
    • 집합(Set)
    • 사전(dictionary)
    • Collection 모듈

    스택(Stack)

    -Last In Last Out 의 메모리 구조

    -주로 리스트를 이용해서 스택을 구현함.

    a=[1,2,3,4,5]
    a.append(6) #stack에 push
    a.append(7)
    a.pop() #stack에서 pop

    큐(Queue)

    - FIFO(First In First Out) 의 구조

    - 리스트 또는 collection deque 모듈을 사용하여 구현

    a=[1,2,3,4,5]
    a.append(6) #push
    a.pop(0) #제일 처음인 원소를 반환
    
    from collections import deque
    a=deque()
    a.append(1)
    a.append(2)
    a.popleft()

    튜플(Tuple)

    -값의 변경이 불가능한 리스트

    - () 를 사용하여 선언

    - 프로그램을 작동하는 동안 변경되지 않는 데이터의 저장에 이용

    t=(1,2,3)
    

    집합(Set)

    -값의 순서없이 저장

    -중복 불허하는 자료형

    -수학의 다양한 집합연산 가능

    s=set([1,2,3,4])
    s.add(1)   			# 중복안됨
    #s={1,2,3,4}
    
    s.remove(1)
    #s={2,3,4}
    
    s.clear()
    #s={}
    
    s1=set([1,2,3])
    s2=set([2,3,4,5])
    
    s1.union(s2)	#합집합
    #{1,2,3,4,5}
    s1|s2 	#합집합
    #{1,2,3,4,5}
    
    s1.intersection(s2) 	#교집합
    #{2,3}
    s1&&s2	#교집합
    #{2,3}
    
    s1.difference(s2)	#차집합
    #{1}
    s1-s2	#차집합
    #{1}
    

    사전(Dictionary)

    -Key값-Value값으로 저장되는 자료구조

    -Hash Table이라는 용어로도 사용 (엄연히는 다름)

    dict={'one':1,'two':2,'three':3}
    
    dict['four']=4
    #dict={'one':1,'two':2,'three':3,'four':4}
    
    dict.keys()
    #dict_keys(['one','two',three','four'])
    
    dict.values()
    #dict_values([1,2,3,4])

    Collection module 모음

    from collections import deque
    from collections import Counter
    from collections import defaultdict
    from collections import namedtuple
    
    #더 빠른 stack, queue를 만들 수 있음
    from collections import deque
    deque_list = deque() 
    for i in range(5):
    	deque_list.append(i) 
        deque_list.appendleft(10) 
        print(deque_list)
        
    from collections import defaultdict
    #d = defaultdict(object) 
    d = defaultdict(lambda: 0) # Default 값을 0으로 설정함
    print(d["first"])
    #0
    
    from collections import Counter
    s='abcdeffg'
    sc=Counter(s)
    #sc={'a':1,'b':2,'c':3,'d':1,'e':1,'f':2,'g':1}
    
Designed by Tistory.