728x90
반응형

프로그래밍 지식/Python 24

람다 표현식,lambda expression [파이썬]

파이썬으로 코테를 진행하다보면 정말로 많이 쓰게 되는 것 중 하나이다. 그래서.. 맨날 찾아보는 것은 좀 그래서 각잡고 공부하려고 한다. 람다는 함수를 빨리 만드는 방법 중 하나다. def로 정의할 필요 없이 빨리 정의 된다. def func(x): return x + 100 func(1) ->101 100을 더하는 함수를 만드려면 저렇게 써야 한다. 뭐 나쁘진 않다. 만약 람다로 바꿔버리면??? lambda x: x + 100 1줄로 끝난다. 2줄이 1줄이 된다. 하지만 람다는 저렇게 쓰는 것이 아니다. 사실 일회용 함수의 색이 좀 짙다. 여러 번 재사용할 메서드가 아니라 잠시 동안만 쓸 메서드에 적용되는 성향이 좀 있다. 이것을 람다 호출이라고 말하는데.. 뭐 용어야 아무래도 좋다. 어떻게 쓰이는지 ..

Regular expression,정규표현식, 문자열파싱,처리 [Python]

코딩테스트에 등장해서 한 번 정리하려고 글을 써본다. 정규표현식은 정말 유용하며 코딩테스트의 문자열 처리 시 엄청나게 큰 도움을 줄 것이 분명하다. 전체를 아우르며 코딩테스트에 나오는 부분은 강조해서 정리해보겠다 깔고가는 기본 지식 메타 문자, meta characters . ^ $ * + ? { } [ ] \ | ( ) ** 문자열에 메타문자가 있을 시에는 특수 문자를 판단할 때는 특수 문자 앞에 \를 붙이면 된다. 1. 문자 클래스 [ ] -> "[ ] 사이의 문자들과 매치"를 의미 다시 말해서 [특정문자열들+조건], 특정문자열보다 범위를 판단할 때 많이 쓰임 **어떤 문자나 메타 문자도 사용할수 있지만 주의해야 할 메타 문자가 1가지 있다. 문자 클래스 안에 ^ 메타 문자를 사용할 경우 반대(not..

파이썬과 아나콘다 그리고 주피터노트북 Python & Anaconda, Jupyter Notebook; Window, 윈도우

이번엔 아나콘다로 개발환경(가상환경)을 만들어 보려고 합니다. + Jupyter notebook(주피터 노트북) 왠지는 몰라도 맨날 파이썬만 주구장창 개발합니다. 사실 Data Science에서는 이거 다 사용함 그래서 아나콘다를 한 번 깔면 잊어버리기 때문에 이렇게 기록을 남겨놓으려고 합니당 ㅎㅎ ++이렇게 써놓아야 뇌에서 지움. 보조기억장치에 저장해놔야 Memory Refresh를 할 수 있겠죠? www.anaconda.com/products/individual Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine..

[Python] permutations() 라이브러리 이용하기

https://www.hackerrank.com/challenges/itertools-permutations/problem itertools.permutations() | HackerRank Find all permutations of a given size in a given string. www.hackerrank.com 이 문제를 기반으로 설명한다. 뭐 주석을 언제부턴가 다시 한글로 쓰기 시작했는데.. 귀찮아서는 아니..?ㅋㅋㅋ 아무튼 설명이야 다 주석에 써놨고 어디다 쓸 수 있을까?? 순서쌍을 만드는 메서드라..? 초등학교 때 짝 만드는 프로그램을 이렇게 짜는 것도 가능하겠다. 무슨 말이냐 하면 모든 순서쌍을 리스트로 만들고 random으로 index를 입력하면 그 애들이 나오지 않을까? 물론 여..

[Python] Counter 라이브러리 이용하기

https://www.hackerrank.com/challenges/collections-counter/problem collections.Counter() | HackerRank Use a counter to sum the amount of money earned by the shoe shop owner. www.hackerrank.com 이 문제를 기반으로 설명한다 Counter를 이용하면 dictionary 형식으로 저장이 되는데 나는 직접 value를 수정하려고 했다 근데 shoe_list가 바뀌지 않는 이상 수정이 안되나보다 그래서 직접 list를 수정했고 답이 나왔다. **int, str 계산 안되고 **list 직접 수정이 더 쉽다는 것을 기억해야한다. Counter를 쓴다면 당연히 개수 파..

[Python]java.lang.OutOfMemoryError 에러

자바라고 써있지만 JVM(JAVA VIRTUAL MACHINE)을 쓰기 때문이며 주피터 사용 중 에러다. 해석하면 메모리 꽉차서 오류난다. 이런 뜻이다. 정확히는 모르지만 JVM은 GC를 수행하는데 총 98%시간 이상 소비한다고 하는데 소비 이후 힙의 2% 미만만 복구되는 경우 이 오류가 발생한다고 한다. 그냥 사용량이 너무 많아서 생기는 오류다.

[Python] 간단하게 정렬(Sorting)

https://www.hackerrank.com/challenges/ginorts/forum Discussion on ginortS Challenge An uneasy sort. www.hackerrank.com 이 문제를 기반으로 설명한다\ 처음에 나는 이렇게 풀었다.. 분명 답이라고 생각했건만.. 오류가 뜬다 나도 잘 모르겠다. 왜 안되는지ㅠ 이게 답이란다. 나는 b,c,d,e가 아무래도 list로 인식이 안되는 것 같다 왜그런지 잘 모르겠다. 아직 초보라 그런 것 같다.

[Python] all(), any()의 이용과 for문 응용

https://www.hackerrank.com/challenges/any-or-all/problem Any or All | HackerRank Return True, if any of the iterable is true or if all of it is true using the any() and all() expressions. www.hackerrank.com 이 문제를 기반으로 설명한다. 그냥 3줄로 만드는게 challenge라고 해서 줄인 것이다. 중요한 개념은 1. for 문의 응용 2. 슬라이싱방법 1. for 문의 응용 b = [1,2,3,4,5] a=[] a.append( i*2) for i in b 이렇게 한다면 a=[2,4,6,8,10] 이 되겠다. 2. 슬라이싱 방법 [a:b] 일..

728x90
반응형