mac 기준입니다 https://nogadaworks.tistory.com/193 를 참고 1. JRE 설치 (JDK아니다!) 2. JPype1 설치 (마지막에 숫자1) 3. konlpy 설치온라인 상 에제에 Twitter객체를 쓰는데 이름이 Okt로 변경되었으므로 알맞게 쓰자 예제>>> import numpy>>> import konlpy>>> from konlpy.tag import Twitter>>> nlpy = Twitter() >>> from konlpy.tag import Okt>>> nply = Okt()>>> nouns = nlpy.nouns("형광등형광등,경보기경보기,경보기 엘리시 엘리시경보기") >>> print(nouns)['형광등', '형광등', '경보기', '경보기', '경보기',..
터미널에 pip --version을 했을 경우 not found가 뜨면 pip가 설치되지 않았다는 뜻이다. 설치명령어는 다음과 같다. sudo apt-get install python-pip 이제 pip install matplotlib같은 파이썬 패키지들을 설치할 수 있다. 또는 pip install matplotlib --upgrade 다음은 에러가 발생했을시 써먹어보자 pip install matplotlib --ignore-installed six --user sudo python -m pip install matplotlib --upgrade --no-binary matplotlib
product는 집합 간의 곱집합을 구한다. 음... 만약 당신이 조합 combination을 사용해야해서 itertools.combinations을 썼다. 길이를 3로 두었으면 1,2,3,4 중에 3개를 뽑아서 조합을 만들것이다. 그런데 1,1,1 같이 중복해서 뽑고싶으면 어떻게 하겠는가? 백준의 유레카이론에서 조합을 생각했다면 나와 같은 생각을 했을 것이다. 이때는 product를 써서 곱집합을 구하면된다. 곱집합은 a와 b집합이 있을때 그 2개의 원소들로 집합을 만드는 것이다. 1,2,3,4집합을 또 만들어서 그 두개의 곱집합을 구하면 충분히 1,1,1같은 중복된 집합을 만들 수 있을 것이다! 사용법을 익혀보자 1. 기본 사용법 import itertools a = [1,2,3,4] a_produc..
조합은 순열이긴한데 그 순열들의 요소의 순서가 달라도 같은 요소들만 있다면 중복으로 보는 특성을 가진다. a,b나 b,a나 똑같은 것으로 보는 것이다. 이것도 간단하게 python의 itertools로 해결할 수 있다. 사용법은 permutation과 같다. import itertools a = [1,2,3,4] a_permutaion = list(itertools.combinations(a,2)) # a의 원소로 2개의 원소를가진 조합생성 print(a_permutaion)
순열은 n!으로 표현되기도 하며, 함수를 직접만들거나 라이브러리를 사용할 수 있다. 1-1) for문 구현 import sys def perm(a:list,n:int): for i in range(1,n+1): #n만큼 for문이 필요함. for j in range(1,n+1): if(i!=j): for k in range(1,n+1): if(i!=k and j!=k): for m in range(1,n+1): if(i!=m and j!=m and k!=m): #n-1만큼 조건이 필요함 print(i,j,k,m) a = [1,2,3,4]n = len(a)perm(a,n) 1-2) 재귀 구현 import sys cnt =0#n은 원소의 개수#k는 현재까지 선택된 원소의 수def perm(n:int,k:in..
js의 var과 python의 multiple object가 아닌이상 모든 변수는 선언된 구간 내의 scope를 가진다. 예를 들어보자1. a = 2 def test(): a = 3 print( a,id(a)) test()print(a,id(a)) 위와 같은 경우는 a와 b의 값이 다르고 객체의 주소가 까지 다른 것을 알 수 있다. 2. a = 2 def test(): print("inside test", a,id (a) ) test()print("after test", a, id(a)) 뭔가 실패할 것만 같다. 그러나 둘다 똑같은 a가 출력된다.print는 동작할때 전역범위 (외부범위)를 스캔하고 내부를 스캔하기 때문이라고 한다. 3. a = 2 def test(): a+=1 print("inside ..
join함수는 잘쓰지 않으나 가끔씩 "".join() 같은 이질적인 문장을 볼 수 있다. 당황하지말고 join의 특성을 잘 이해해 주자 join은 아래왜 같이 작동한다.l = ['a', 'b', 'c'] str = ",".join(l) print(str) // a,b,c print( "-".join(["a", "b", "c"]) ) # a-b-c lst = ['Apple', 'Banana', 'Mango', 'Orange'] print( " + ".join(lst) ) # Apple + Banana + Mango + Orange nums = [1,2,3,4] print( " ".join(map(str,nums)) ) # 1 2 3 4 음.. split과 반대 되는 개념이라 생각하자!