[Python] else의 다른 활용
·
Dev Lang/Python
파이썬에서 else 문은 일반적으로 if 문과 함께 사용되는 것을 주로 볼 수 있습니다. 그러나 파이썬에서는 else 문이 for, while 및 try 문과도 함께 사용될 수 있습니다. 이러한 사용법은 다른 언어와는 달리 특별하며, 때로는 혼동을 줄 수 있습니다. 각 사용 사례에 대해 설명하겠습니다. 1) for-else: for 문과 함께 사용될 때, for 문이 전체를 순회한 후에 (즉, 중간에 break로 인해 중단되지 않은 경우) else 블록이 실행됩니다. for i in range(5): if i == 10: break else: print("Loop was not interrupted by break.") 2) while-else: while 문과 함께 사용될 때, while 조건이 거짓이..
[Python] reverse, reversed
·
Dev Lang/Python
파이썬 reverse, reversed의 차이 파이썬에서 리스트의 요소를 뒤집을때 reverse, reversed를 사용한다. 이 두개의 차이에 대하여 간단하게 알아보자. reverse reverse는 list타입에서 제공하는 함수이다. l = ['a', 'b', 'c'] t = ('a', 'b', 'c') d = {'a': 1, 'b': 2, 'c': 3} s = 'abc' l.reverse() # list의 순서를 뒤집어줌 t.reverse() # AttributeError: 'tuple' object has no attribute 'reverse' d.reverse() # AttributeError: 'dict' object has no attribute 'reverse' s.reverse() # ..
[Python] 알고리즘 풀이를 위해서 시간을 측정하는 법
·
Dev Lang/Python
1. time.process_time() 이용 2. timeit 이용 1. time.prcess_time() 시간측정 단위는 초(second)입니다. import time from datetime import timedelta start = time.process_time() # 본인이 시간을 측정하고 싶은 코드를 집어넣는 곳 ans = 0 for _ in range(1000000): ans += 1 end = time.process_time() print("seconds: ", end - start) print("h:m:s : ", timedelta(seconds=end-start)) start 변수에 시간 측정 시작점을 저장해준 뒤 end 변수에 시간 측정 종료지점을 저장해줍니다. 그 이후에는 본인이..
[Python] 순열(Permutation) 구현
·
Dev Lang/Python
순열과 조합을 재귀함수를 통해 구현하는 방법과 라이브러리를 통해 구현하는 방법으로 나누어서 설명해보겠습니다. 1. 순열(Permutation) 서로 다른 n개의 원소에서 r개를 중복없이 순서에 상관있게 선택하는 혹은 나열하는 것을 순열(permutation)이라고 한다. 1-1. 재귀함수 # 개수가 5개인 리스트 [1, 2, 3, 4, 5] 주어졌을 때 중복없이 순서있게 3개를 뽑아보자. # 순열 사용. # 주어진 숫자들 nums = [1, 2, 3, 4, 5] # 3개를 뽑는다. r = 3 # 순열을 만드는 테이블 ans = [] # 중복을 확인할 리스트 visited = [False] * (max(nums)+1) def print_args(): print(" ".join(map(str, ans))) ..
[Python] 중복되는 데이터를 제거하고 싶을 경우
·
Dev Lang/Python
저는 백준 문제를 풀면서 중복되는 입력값이 주어졌을 때 중복된 값을 지우기 위해 다음과 같은 방법을 사용합니다. 1. for문과 if문을 이용한 중복된 값을 확인하여 저장해주는 방법. 2. 집합 set()을 이용하여 중복된 값을 제거해주는 방법. ++ for문은 컨프리헨션으로 간편하게 나타내주셔서 상관없습니다. for문과 if문을 이용하여 중복된 값을 확인하여 저장해주는 방법. # 만일 입력값이 1, 1, 2, 2, 4, 5 가 주어진다면(개행을 포함해서) # n은 입력값의 개수를 뜻합니다. n = int(input()) li = [] for _ in range(n): arg = input() if arg not in li: li.append(arg) print(' '.join(li)) >>> 1 2 4..
[Python] 넘파이 numpy
·
Dev Lang/Python
딥러닝을 익히기 위해 익혀야 할 라이브러리인 numpy, panas, matplotlib를 공부 중 입니다. 오늘은 numpy에 대해서 공부해보겠습니다. Numpy는 C언어로 구현된 파이썬 라이브러리이며, 고성능의 수치계산을 위해 제작되었다. Numerical Python의 줄임말이기도 한 Numpy는 벡터 및 행렬 연산에 있어서 매우 편리한 기능을 제공합니다. 파이썬은 동적언어이기에 처리속도가 정적언어에 비해 떨어질 수 밖에 없기에 정적언어인 C언어를 부분 이용해서 구현이 가능합니다. numpy 가져오기 numpy를 가져올 때 np로 가져오는 경우가 훨씬 편리합니다. 물론 불편하지않다면 numpy를 그대로 써도 좋습니다.본 글에서는 np로 호출 받은것을 가정하고 글을 쓰겠습니다. # np로서 호출 받기..
[Python]Collections.Counter와 반올림 처리
·
Dev Lang/Python
Collections 라이브러리에 Counter( )를 알아보겠다. 최빈값을 찾기 위해서 많이쓰이는데 최빈값이란 주어진 숫자들 중에서 가장 자주 나오는 수를 뜻한다. 이 Counter는 최빈값을 찾는데 도움을 준다. >>> from collections import Counter >>> li = [1, 2, 2, 3, 4] >>> Counter(li) Counter({2: 2, 1: 1, 3: 1, 4: 1}) 보다시피 {숫자 : 개수...} 형태로 주어진다. Counter().most_common()와 Counter().most_common(i) 자주 나오는 개수 순으로 원소를 튜플 형식을 보여준다. (원소 : 개수) 만일 i가 없다면 모든 원소의 개수를 볼 수 있으며 i가 있다면 i에 따라 내림차순으..
[Python] enumerate( )
·
Dev Lang/Python
enumerate( )은 파이썬의 내장함수이다. enumerate는 이터레이터를 지연 계산 제너레이터로 감싸준다. iterator의 원소값과 루프 인덱스 쌍으로 튜플형식으로 되돌려준다. 만일 우리가 리스트의 원소와 인덱스 값을 같이 출력 할때는 어떻게 표현할까? 보통 리스트의 인덱스 값과 리스트의 원소값을 같이 출력할 때 range(리스트의 길이)를 사용한다. >>> color = ['파랑', '노랑', '초록', '검정'] >>> for i in range(len(color)): print(f'리스트 color의 {i}번째 인덱스의 원소는 {color[i]}이다.') 리스트 color의 0번째 인덱스의 원소는 파랑이다. 리스트 color의 1번째 인덱스의 원소는 노랑이다. 리스트 color의 2번째 인..
개발자 성현
'Dev Lang/Python' 카테고리의 글 목록