컴퓨터 공부/🐍 Python 16

deque() vs deque([]), 뭐가 맞는 방식이지?

deque()는 python의 collections 모듈에 포함된 double-ended queue로, 양쪽에서 데이터를 효율적으로 추가하거나 제거할 수 있는 자료구조다. 일반 리스트보다 양쪽에서 데이터 추가/삭제가 더 빠르기 때문에, 시간복잡도가 O(1)인 특징이 있고, 양쪽에서 모두 작동 가능한 메서드를 제공하기도 한다.(appendleft(), popleft())from collections import dequedq = deque([1,2,3]) # 초기 값 설정dq.append(4) # 오른쪽에 추가dq.appendleft(0) # 왼쪽에 추가dq.pop() # 오른쪽에서 제거dq.popleft() # 왼쪽에서 제거print(dq) # deque([1,2,3])그런데 deque 을 초기화하는 과..

Rotating 2D matrix - 90, 180, 270

Python으로 2D 행렬을 90도, 180도, 270도 회전시키는 방법 알고리즘 문제를 풀 때, 행렬을 회전시켜야 하는 경우를 종종 마주한다. 특히 이미지 처리, 게임 개발, 데이터 분석 등에서 2D 행렬을 회전하는 작업은 매우 유용한데, 이번 포스팅에서는 Python으로 2차원 행렬을 90도, 180도, 270도(왼쪽으로 90도) 회전시키는 방법을 정리해보려고 한다. 1. 기본 개념 : 행렬의 회전2D 행렬이란 숫자 또는 다른 데이터로 이루어진 2차원 배열이다. 예를 들어, 다음과 같은 3x4 행렬이 있다고 가정해보자. - 초기 행렬(n=3,m=4)matrix = [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] - 90도 시계방향(clockwise)..

Python any(), all() 함수

Python에는 다양한 내장 함수가 있지만, 그중 all()과 any() 함수는 논리 연산을 간단히 처리할 수 있어 매우 유용하다. 특히, iterable 객체를 기반으로 한 조건 검사를 간결하게 표현할 수 있어 코드 가독성을 높이는 데 도움을 준다. 이 포스팅에서는 all()과 any() 함수의 정의, 특징, 사용법을 예제와 함께 알아보겠다.1. all() 함수란?all(iterable) 함수는 인자로 받은 반복 가능한 객체(iterable)의 모든 요소가 참(True)이면 True를 반환하고, 하나라도 거짓(False)이면 False를 반환한다. 만약 iterable이 비어 있다면 기본적으로 True를 반환한다. and 연산자와 유사한 동작을 한다고 보면 이해하기 쉽다. all(iterable)은 내..

정규식을 사용해 여러개의 구분자로 split 하는 방법

Python의 string 내장함수인 split을 사용하면 구분자를 기준으로 string을 list로 나눌 수 있다.str = "Hello Aloo! I love how you treat me!"str = str.split()print(str)# ['Hello', 'Aloo', 'I', 'love', 'how', 'you', 'treat', 'me!']str = "What's up, Aloo, Nice to meet you!"str = str.split(',')print(str)# ['What's up', ' Aloo', ' Nice to meet you!'] 알고리즘 문제를 풀다 보면, 여러 개의 구분자로 string을 list로 나누고 싶을 때가 있다.이와 같은 경우에 re(정규식) library 를..

리스트 원소 중에서 가장 길이가 긴(최대길이) 원소 찾기

알고리즘 문제를 풀다가 map을 활용해서 리스트 원소 중에서 가장 길이가 긴 원소를 찾는 방법을 배웠다.사실 map의 원리를 잘 이해하면 알 수 있는 내용이지만, 빠르게 찾는 방법을 알아두면 좋으니 배워보자. 먼저, 방법부터 말하자면 아래와 같이 활용할 수 있다.n = max(map(len,list)) 편의상 list를 nums 라는 리스트라고 가정해보자. map(len, nums) 는 nums가 리스트라고 가정할 때, map 함수는 리스트 nums 의 각 요소에 대해 len 함수를 적용한다는 의미다.즉, nums 에 있는 각 요소의 길이를 계산하여 반환하는 작업이라 할 수 있다.예시를 살펴보자.nums = [[1,2,3], [4,5], [6]] 위와 같은 nums 리스트가 있다고 한다면, map(len..

What is "self" in Python?

파이썬 코드를 짤 때, 언제 self 를 써야하고, self의 적용범위가 어디까지인지 이런 개념을 완벽히 잘 모르고 그냥 감으로 self 를 짠 경우가 있을 것이다. 나도 디버깅을 하면서 self 를 붙일지 말지 찾아내곤 하는데, self 에 대해서 자세하고 정확한 예시 등으로 개념을 바로 잡아보자! Python 에서 클래스를 정의하고 객체지향 프로그래밍을 할 때, 'self' 는 클래스의 인스턴스를 가리키는 변수이다. 클래스의 메소드는 첫 번째 매개변수로 항상 "self"를 받아, 그 인스턴스의 속성과 다른 메소드에 접근할 수 있게 하는 것이다. ※ 'self'의 역할과 사용법 1. 인스턴스 참조 'self'는 클래스의 현재 인스턴스를 참조한다. 클래스 내부에서 'self'를 사용하면, 그 클래스의 다..

반응형