03 로그파일 재정렬
배운것: 리스트 안에서 순자,문자 구분 // 람다표현식 // 리스트순서 정렬
.isdigit() = 숫자인지 판별
digit.append(log) = 로그를 digit에 더해라
.sort() = 오름차순으로 정렬, 리스트자체값을 바꾼다. 출력되는 값은 없다.
.sorted() = 오름차순으로 정렬, 리스트 자체값을 바꾸지 않고 출력값만 바뀐다.
.sort( key=lambda x: (x.split()[1:], x.split()[0]) = 정렬이되는 키값이 두번째값 그다음 첫번쨰 값 순서로 정렬된다)
[ 1, 2, 3] + [4, 5 6] = [ 1 2 3 4 5 6]
04 가장흔한단어
배운것: 데이터에 어떤 조건이 있을때 데이터전처리(preprocessing)과정으로 클렌진(cleansing)을 먼저 해준다.
re.sub(pattern, repl, input) = re.sub 은 input에서 pattern 에 해당하는 것을 repl로 바꾼다.
예) re.sub('abc', 'def', input) = input에서 abc를 찾아 def로 바꾼다.
re.sub(r'[^\w], ' ', input) = input에서 글자가(\w) 아닌것( ' )을 ' '빈칸으로 바꾼다. (제거는 '' ) ( input 뒤에 , 숫자를 넣으면 변경되는 패턴의 갯수를 정할 수 있다. 1이면 첫번째 패턴이 변경)
리스트 컴프리핸션(comprehension) - 리스트 내부에 포함된 if else, for in 조건문
string.lower() - 문자를 소문자로 바꾸기.
if word not in banned = word 가 banned 에 없을때. ( in 함수)
dict의 하위클래스로 Counter를 이용해서 dict의 요소를 처리할 수 있다.
.elements() = dict 에있는 값들을 중복포함해서 출력한다.
.most_common() = dict에서 반복되는 값을 내림차순으로 정렬해서 보여준다. most_common(1)은 가장 많은 값을 보여준다. (2)는 많은것 그다음 많은것
A.subtract(B) = A에서 B의 값들을 뺀다.
dictionary.get(keyname, value) = get함수는 keyname을 키로하는 value 값을 출력한다. (예, 동물 = {"호랑이" : 12, "사자":2} 일때 동물.get("호랑이") 는 12를 출력한다.
.defaultdict() = collections 모듈안에 있는 dict형식의 자료컨테이너이고 dict의 하위클래스로 키에 해당하는 값을 출력한다.
from collections import defaultdict
# Function to return a default
# values for keys that is not
# present
# 값이 없으면 not present로 출력하도록 설정
def def_value():
return "Not Present"
# Defining the dict
# defaultdict에 키값이 입력되면 그에 맞는 value가 출력된다.
d = defaultdict(def_value)
d["a"] = 1
d["b"] = 2
print(d["a"])
print(d["b"])
print(d["c"])
output:
1
2
Not Present
https://www.geeksforgeeks.org/defaultdict-in-python/
word가 words에 해당하는 값일 때 word가 있으면 word를 키값으로 value가 1씩 올라간다. counts.get에 서 값들을 가져와서 최대값의 key를 출력한다.
counts = collections.defaultdic(int)
for word in words:
counts[word] += 1
return max(counts, key=counts.get)
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 기초 [점프 투 파이썬 - 자료형] (0) | 2021.05.28 |
---|---|
파이썬공부 [점프투파이썬] (0) | 2021.05.27 |
파이썬 kaggle 머신러닝 입문 4~7/7 (0) | 2021.05.26 |
코드업 6097 설탕과자 뽑기 (0) | 2021.05.24 |
코드업 6090 수 나열하기 (0) | 2021.05.22 |