본문 바로가기

전체 글

(205)
[python] 재귀함수를 사용한 list 평탄화 (flatten) def flatten(input): output = [] for v in input: if isinstance(v, list): output.extend(flatten(v)) else: output.extend([v]) return output a = [[1,1],2,[2,[1,2,3],3]] print(flatten(a)) flatten 함수에서 리스트면 재귀 함수를 돌리는 식으로 리스트내의 원소를 1차원 적으로 만드는 코드. 결과 출력 [1, 1, 2, 2, 1, 2, 3, 3]
[python] 함수 정의시 화살표(->)와 콜론(:) 의미 Leetcode를 풀던중 생소한 문법이 보였다. def push(self, x: int) -> None: self.queue.append(x) python3 함수 정의시 -> (화살표) python3에서는 함수 정의시 나타나는 화살표(->)는 함수 리턴 값의 주석 역할을 한다. 말그대로 주석이기 때문에 있으면 좋지만 없다고 문제가 되지는 않는다. 위 함수에서는 None 타입을 리턴하는 함수다. python3 함수 정의시 : (콜론) 비슷한 역할로 콜론이 있다. 위 코드를 보면 x: int 라는 표현이 있는데, 이는 매개변수 x 타입에 대한 주석이다. 즉 x 값은 int로 들어올 것이다. 라는 의미다. 마찬가지로 주석이기 때문에 없다고 문제가 되지는 않는다. 만약 주석대로 코드가 작성되지 않으면? # No..
[python] 리스트 문자열 중 길이가 가장 짧은 문자열 찾기 단순 루프 돌면서 찾기 strs = ["banana", "apple", "watermelon", "strawberry"] min_str = strs[0] for i in range(1, len(strs)): if len(min_str) > len(strs[i]): min_str = strs[i] print(min_str) >> apple 보통 리스트에서 가장 짧은 문자열을 찾을때는 단순 루프를 돌면서 데이터를 찾았다. 그런데 leetcode 문제 풀이중 훨씬 간단한 방법으로 이를 찾는 방법을 찾았다. min 함수 이용하기 strs = ["banana", "apple", "watermelon", "strawberry"] min_str = min(strs, key=len) print(min_str) min ..
[linux] sed 명령어를 통한 파일 문자열 치환 예제 sed는 stream editor 이름을 줄인 명령어로, 말그대로 스트림 편집기를 의미한다. 주로 문자열을 치환하거나 삭제할때 유용하게 사용할 수 있는 명령어다. 이 외에도 특정 라인까지 출력, 특정 패턴에 맞는 행들만 출력하는 기능을 지원한다. 그렇다면 sed 명령어를 어떻게 사용하는 사용법과 예제를 살펴보자. sed 명령어 사용법 문자열 치환 sed 's/원본문자열/바꿀문자열/g' 파일명 문자열 치환은 위와 같이 진행할 수 있다. 여기서 눈 여겨볼 부분은 s와 g인데, s는 치환을 하겠다는 subcommand이고 g는 전체 문자열을 대상으로 진행하겠다는 의미다. 특정 파일의 lim 이라는 문자열을 kim으로 변경하기 $ cat text Lim's coding blog. coding blog made ..
[elasticsearch] 와일드 카드에 매칭되는 인덱스 리스트 가져오기 Elasticsearch 에서 특정 패턴의 이름을 가진 index 리스트를 가져오고 싶다면 아래와 같이 할 수 있다. #limcode-로 시작하는 모든 인덱스 리스트업하기 GET _cat/indices/limcode-* #limcode가 중간에 들어있는 모든 인덱스 리스트업 하기 GET _cat/indices/*limcode-*