목록PYTHON/STUDY (25)
정구리의 우주정복
list 를 dict로 만들려면 어떻게 해야할깡 !!오늘의 목표!! ['a','b','c','d'] -> {1: 'a', 2: 'b', 3: 'c', 4: 'd'} [a, b, c, d] 라는 내용을 가진 list 를 {1:a,2:b,3:c,4:d} dictionary 로 만들어 볼 것이다 어렵지 않다 enumerate 를 사용하면 된다 !! #list 생성하기 lst = ['a','b','c','d'] print(lst) >> ['a', 'b', 'c', 'd'] list 에 enumerate 를 사용하면 (0, 'a') (1, 'b') (2, 'c') (3, 'd') 이런 형태가 되게 된다 ! 만약 이것을 다루고 싶다면 for i in enumerate(lst): print(i) >> (0, 'a')..
2.7 버전에서 keras 쓰려고 했더니 Keras requires TensorFlow 2.2 or higher. Install TensorFlow via `pip install tensorflow` 에러가 난덩 그래서 다시 pip install tensorflow 를 하고 improt tensorflow as tf print(tf.__version__) >>2.1.0 버전 확인했더니 2.1.0 이란다 ! 나는 2.2 이상 버전이 필요한데 !! 그래서 pip install tensorflow==2.2.0 했더니 파이썬 2점대 버전에서는 2.1 까지만 지원한다고한다 그래서 그냥 keras 를 낮췄다 pip install keras==2.3.1 이거로 설치해주면 에러 안나고 해결된당 !
tensorflow 설치하려 했더니 메모리에러가 발생했다 File "/home/jungry/.conda/envs/mlsec_27/lib/python2.7/site-packages/pip/_vendor/msgpack/fallback.py" , line 905, in pack ret = self._buffer.getvalue() MemoryError 이 에러가 발생했을땐 cashing을 사용하지 않도록 명령어를 입력해주면 됩니당 pip install --no-cache-dir tensorflow 를 이용해서 설치하면 성공적으로 설치된걸 확인할 수 있다 !
여러가지 방법이 있지만 나는 까먹지 않을 수 있는 방법으로 기억하려 한다 1. for문 lst = [[1,2],[3,4],[5,6]] arr = [] for i in lst: arr += i 2. sum lst = [[1,2],[3,4],[5,6]] arr = sum(lst,[]) 이렇게만 알아도 좋을듯 히히
정규표현식에 대해서 알아보자 ! 직접 입력해보고 결과를 출력해보며 공부하는 것을 추천 ! 정규표현식 기본 사용 법 #정규표현식 import re r = re.compile("a.c") #. 는 한개의 임의의 문자를 나타냄 abc,avc,anc .. 모두 매치가 됨 print(r.search('abc')) r = re.compile('ab?c') #앞의 문자가 존재할수도 있고 안할수도 있다 abc,ac 모두 매치가 됨 print(r.search('abc')) print(r.search('ac')) r = re.compile('ab*c') #*앞의 문자는 0개부터 무수히 많을 수있다. ac,abc,abbbbc,abbbbbbbbc 모두 매치 print(r.search('abbbbbbbbbbbbbbbbbbbbb..
주피터 노트북 사용 , 맥 기준 한글이 네모모양으로 깨져서 출력될 경우 맨 위에 import matplotlib.pyplot as plt import matplotlib.font_manager as fm fm._rebuild() plt.rc('font',family='AppleGothic') 을 추가해주자 ! 그럼 한글이 깨지지 않고 나온다 !!!!!오예 !!
리스트 컴프리헨션 이란 ? 리스트를 초기화 시키는 방법 중 하나이다 리스트 안에다가 조건문과 반복문을 넣어서 초기화를 시켜주는 방법이다 알고리즘 문제에서 아주 자주 등장하니까 꼭꼭 능숙하게 사용할 수 있어야한다 ! 사용 예시 1. 0-9까지의 배열 lst0 = [i for i in range(10)] print(lst0) >>[0, 1, 2, 3, 4, 5, 6, 7, 8] 2. 0-19 까지의 홀수만 있는 배열 lst1 = [i for i in range(20) if i%2 != 1] print(lst1) >>[0, 2, 4, 6, 8, 10, 12, 14, 16, 18] 3. i*i (제곱 값) 을 나타내는 배열 lst2 = [i*i for i in range(9)] print(lst2) >>[0, ..
set 은 중복을 허용하지 않고 , 순서가 없다 라는게 특징이다 (만약 중복이 있는 리스트를 set 으로 감싸면 중복된 녀석들이 삭제된다 ! 실제로 리스트의 중복된걸 지우고 싶을때 많이 사용되는 방법임) list() 를 set() 으로 감싸주면 -> {} 셋이 되고 반대로 set() 을 list()로 감싸주면 -> [] 리스트가 된다 상황에 따라서 자유롭게 이용할 수 있음 #1. set 의 선언 s1 = set([1,2,3,4,5,6]) s2 = set([5,6,7,8,9,10]) #2. 교집합 g1 = s1&s2 print('g1 :',g1) g2 = s1.intersection(s2) print('g2 :',g2) #3. 합집합 h1 = s1|s2 print('h1 :', h1) h2 = s1.uni..