Python

    (Python) 순열, 조합, 중복순열, 중복조합 쉽게 구현하기

    (Python) 순열, 조합 쉽게 만들기¶결론부터 말하자면, 라이브러리에서 불러온 함수와 직접 구현한 함수가 속도차이 10배정도를 보였다. (라이브러리가 훨씬 빠름) 파이썬 documentation에서 어떻게 구현했는지 나중에 차차 확인해봐야 할 것 같다. 1. itertools를 이용하여 순열, 조합 구현하기¶ 1.1 순열(=permutations) 반복 가능한 객체(=길이가 n인)에 대해서 중복을 허용하지 않고 r개를 뽑아서 나열한다. 뽑힌 순서대로 나열하기 때문에 순서가 의미가 있다. (즉, 같은 값이 뽑히더라도 순서가 다르면 다른 경우의 수로 취급한다.) permutations(반복 가능한 객체, r) In [1]: from itertools import permutations for i in p..

    [Python/에러] : maximum recursion depth exceeded in comparison

    파이썬에서 maximum recursion depth exceeded in comparison 에러가 발생하는 경우 1. 원인 파이썬에서는 재귀 호출 횟수를 제한하고 있다. 2. 어떤 상황에서 일어나는가? default값으로 설정되어 있는 재귀 호출 횟수(약 1000번?)을 넘어서면 에러가 발생한다. 3. 어떻게 해결하는가? 재귀 호출 횟수를 늘려주면 된다. import sys sys.setrecursionlimit(10**7) 처럼, 임의로 호출 횟수를 늘려주자.

    [Python/내장함수] 예외 처리하기 (try / except문)

    [Python] 예외 처리하기¶ 일단 코드부터 실행하고, 에러가 발생하면 그때 처리한다! 코드와 프로그램 논리를 추가해서 나쁜 일이 생기지 않도록 사전에 막기보다는, 파이썬의 예외 처리 메커니즘을 이용해서 일단 에러가 발생하도록 놔두고, 에러가 발생하면 이를 발견해서 복구할 수 있는 기회를 제공한다 발생할 수 있는 모든 에러를 처리하는 코드를 만들려면 코드 작성에 많은 시간이 걸리기 때문에 예외처리는 많은 도움이 된다. 보호해야할 필요가 있는 부분은 어디일까? 고민! 런타임에 발생하는 에러에 상관없이 그것을 무시하거나 에러 메세지를 출력하도록 하므로 모든 에러가 처리된다. 범용적이라 좋긴 한데.. 실제로 신경써야 하는 에러는 IOError와 ValueError이다. 프로그램을 개발할 때 실제로 일어나는 ..

    [Python/os] txt파일 읽어오기

    [Python] 파일 읽어오기¶ 파이썬은 어떻게 파일에서 데이터를 읽어올까? 파일은 단지 여러 라인으로 구성된 텍스트이다. 파이썬의 기본 입력 메커니즘은 "라인"을 기반으로 한다. 데이터를 텍스트 파일에서 프로그램으로 읽어 들이면 한 번에 한 라인씩 가져온다. In [2]: import os os.getcwd() # 현재 디렉터리 확인 Out[2]: 'C:\\Users\\Juhee\\jupyter_workspace' In [3]: os.chdir('./Python') # 데이터 파일이 있는 폴더로 이동 os.getcwd() # 현재 디렉터리 확인 Out[3]: 'C:\\Users\\Juhee\\jupyter_workspace\\Python' 백준 사이트에서 파이..

    [Python/내장함수] range와 enumerate 함수

    [Python] range(), enumerate()¶ range()함수에 대해서 알아보자¶ In [1]: # range(start, stop, step) # 필요에 따라 주어진 범위의 일련의 숫자를 생성하는 나열자를 반환한다. print(range(10)) print(type(range(10))) range(0, 10) In [2]: list(range(10)) Out[2]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In [3]: tuple(range(10)) Out[3]: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) In [4]: set(range(10)) Out[4]: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} In [5]: for i in range(10): ..

    [Python/내장함수] isinstance 함수

    [python] isinstance() : 식별자가 특정 형의 데이터를 갖고 있는지 확인한다.¶ In [1]: a_list = [1,2,3,4,5] # a_list는 리스트인가? isinstance(a_list, list) Out[1]: True In [2]: a_string = "what is your name?" # a_string은 str인가? print(isinstance(a_string, str)) #a_string은 int인가? print(isinstance(a_string, int)) True False In [3]: a_int = 3 # a_int는 int인가? print(isinstance(a_int, int)) # a_int는 float인가? print(isinstance(a_int, ..