Programming/🐍 Python 6

[python] 문자열 마스터하기_2 : 문자열 합치기 (join, lambda, map)

''.join(map(lambda x: morse[x], letter.split())) ''.join([morse[x] for x in letter.split()]) 리스트를 조인하거나, map으로 나온 객체들을 조인할 수 있다. map 사용할 때 람다식을 함께 사용하는 방법을 익혀두면 좋다. 예시 문제 : 키를 기준으로 값에 해당하는 문자열들을 병합해 return 프로그래머스 모스부호(1} 문제 바로가기 제출 코드

[내장 라이브러리] 힙큐 heapq, 정렬큐

힙큐의 사용 이진트리 내장되어 있어서 sorting 효율적으로 해주고, pop과 push로 큐로 쓰기 좋다. import heapq q = [1,4,5] >>> [1,4,5] heapq.heappop(q) # 최소값 반환 1 q >>> [4,5] heapq.heappush(q,5) # 순서에 맞게 삽입 q >>> [4,5,5] 22. 9. 17. 추가 heapq.heapify({list}) heapify는 리스트를 heap으로 정렬해준다. [3,2,1] => [1,2,3] 다만 사용법이 헷갈리기 쉬운데, 할당을 따로 하는 게 아니고, sort() 메서드 쓸 때 처럼 실행만 시켜주면 된다. import heapq as hq Alist = [] # Case 1 hq.heapify(Alist) print(Al..

[알고리즘] list 뽀개기, 생성부터 심화까지

지금까지 백엔드 프로젝트와 알고리즘을 풀며, 데이터를 처리할 때 인덱스를 가장 많이 사용하다보니, 자료구조 중 유독 리스트를 자주 사용한다는 것을 알게 되었다. 헷갈릴 때마다 노션에 적어두었던 관련 문법들을 모아 블로그에 포스팅할 필요를 느꼈다. 생성 - 수정(자르기, 추가하기) - 심화(다차원 배열 생성, map) 1. 리스트 생성하기 # 빈리스트 생성하기 a = list() a = [] # 특정 리스트 생성하기 (for 없이) a = list(range(3)) # [0,1,2] a = list(0 for i in range(3)) # [0,0,0] a = [0 for i in range(3)] # [0,0,0] # 다차원 리스트 생성하기 a = [list(0 for _ in range(3)) for ..

람다함수(lambda)와 map

람다함수 = 익명의 함수 OR 람다 표현식, 한줄로 표현할 때 편리 함수로 호출할 때 # 함수로 호출하기 def plus_one(x): return x+1 print(plus_one(1)) >>>2 람다함수로 표현할 때 #람다함수로 표현해보기 lambda x: x+2 # 콜른 왼쪽이 매개변수x, 오른쪽이 return값 plus_two = lambda x : x+2 # 할당해서 print(plus_two(2)) # 출력 map을 이용해 리스트에 함수 적용하기 # 보통 함수를 맵으로 적용할 때 def plus_one(x): return x+1 a = [1, 2, 3] print(list(map(plus_one, a))) # map(함수명, 대상) => 리스트의 인자 하나씩 함수를 적용하겠다 >>>[2, 3,..

2차원 리스트 만들기 (행렬과 반복문)

a = [[0]*3 for x in range(3)] >>> [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 이므로 행렬 형태가 아님 따라서 for문에 넣어주면 for i in a: #각 행마다 i에 할당되고 print(i) #행 출력하고나면 줄바꿈됨 >>> [0, 0, 0] [0, 0, 0] [0, 0, 0] 혹은 # try1 for x in a: for y in x: print(y) >>> 0 0 0 0 0 0 0 0 0 # try2 for x in a: for y in x: print(y, end = ' ') #행 안에서는 옆으로 한칸만 이동 (줄바꿈없이) print() #한 행이 끝나면 다음열로 이동하기 위해 줄바꿈 >>> 0 0 0 0 0 0 0 0 0 # 일차원 리스트 a = [0..

[python] 문자열 마스터하기_1 : 포매팅과 연산자, 문자 대체

1.1 문자열이란 : 문자나 단어등으로 구성된 문자들의 집합이다. int와 배척되는 개념 출력할 때 "Sooo Good, and Yummy" 따옴표로 감싸져서 출력이 된다. 문자 그대로 출력하고 싶을 때는 \ 이스케이프를 앞에 붙여주면 된다. 1.2 이스케이프 \n 줄바꿈 \t 문자열 사이에 탭 \\ 문자 \를 그대로 표현 \' 작은따옴표 '를 그대로 표현 \" 큰따옴표 "를 그대로 표현 \r 줄바꾸고 현재커서를 가장앞으로 이동(캐리지 커서) \f 줄바꾸고 현재커서를 다음줄로 이동(폼피드) \a 벨소리(출력시 PC에서 삑-) \000 널 1.3 문자열 연결하기 ( + ) >>> Name = "Jude" >>> Action = "is going to school" >>> Sentence = Name + A..