본문 바로가기

전체 글628

collections 모듈 - namedtuple # 예제1. tuple() vs namedtuple() # tuple() a = ('John', 28, '남') b = ('Sally', 24, '여') for n in [a, b]: print('%s은(는) %d 세의 %s성 입니다.' %n) ''' 결과 John은(는) 28 세의 남성 입니다. Sally은(는) 24 세의 여성 입니다. ''' import collections # namedtuple() Person = collections.namedtuple("Person", 'name age gender') P1 = Person(name='Jhon', age=28, gender='남') P2 = Person(name='Sally', age=28, gender='여') for n in [P1, P2].. 2022. 5. 12.
collections 모듈 - deque 1. deque란 Deque(데크)는 double-ended queue 의 줄임말로, 앞과 뒤에서 즉, 양방향에서 데이터를 처리할 수 있는 queue형 자료구조를 의미한다. 아래의 [그림1]은 deque의 구조를 나타낸 그림이다. python 에서 collections.deque는 list와 비슷하다. append(), pop() 등의 메소드를 deque에서도 제공한다 append(x) list.append(x) 와 마찬가지로 x를 deque의 오른쪽(마지막)에 추가(삽입)해준다. # 예제1. list.append() vs deque.append() import collections # list lst = ['a', 'b', 'c'] lst.append('d') print(lst) ''' 결과 ['a',.. 2022. 5. 12.
collections 모듈 - defaultdict # 예제(1) - dict vs defaultdict # 1-1. 기본 딕셔너리 import collections ex1 = {'a':1, 'b':2} print(ex1) ------------------------- print(ex1['c']) ''' 결과 {'b': 2, 'a': 1} --------------------------------- # defaultdict의 초기값 생성 KeyError: 'c' ''' # 1-2. collections.defaultdict # defaultdict의 초기값 생성 def default_factory(): return 'null' ex2 = collections.defaultdict(default_factory, a=1, b=2) print(ex2) prin.. 2022. 5. 12.
collections 모듈 - Counter collections.Counter()의 결과값(return)은 딕셔너리 형태로 출력 # collections.Counter 예제 (1) # list를 입력값으로 함 import collections lst = ['aa', 'cc', 'dd', 'aa', 'bb', 'ee'] print(collections.Counter(lst)) ''' 결과 Counter({'aa': 2, 'cc': 1, 'dd': 1, 'bb': 1, 'ee': 1}) ''' # collections.Counter 예제 (2) # dictionary를 입력값으로 함 import collections print(collections.Counter({'가': 3, '나': 2, '다': 4})) ''' 결과 Counter({'다': 4.. 2022. 5. 12.
vars() 내장함수 모듈, 클래스, 인스턴스 또는 dict 어트리뷰트가 있는 다른 객체의 dict 어트리뷰트를 돌려줍니다. 인자가 없으면, vars() 는 locals() 처럼 동작합니다. locals 딕셔너리에 대한 변경이 무시되기 때문에 locals 딕셔너리는 읽기에만 유용하다는 것에 주의하세요 locals은 말그대로 locals()가 실행되어지는 함수내의 지역 namespace 들을 정리해서 넣어주고 globals는 전역, 지역, builtin 정보 모두 dict 형태로 정리해 준다. 아래 예제를 통해 이해해 보자. locals(), vars() 예제 a_var = range(2) def locals_test(): b_var = 3 c_var = "hi" d_var = locals() print(d_var) local.. 2022. 5. 10.
[프로그래머스] 행렬 테두리 회전하기 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 다른사람 풀이 answer = [] array = [[0 for col in range(columns)] for row in range(rows)] t = 1 for row in range(rows): for col in range(columns): array[row][col] = t t += 1 먼저 행렬을 만들어줘야한다. 처음에는 값이 0으로 초기화된 rows*columns 크기의 배열을 만들어준다. 그 후, 가로방향으로 숫자가 1씩 증가하.. 2022. 5. 10.