O(n log n) heep 구조 사용
리소스 내 각 요소별 개수 카운팅 함수
List_Counter[index] 인덱스로 접근하면 해당 데이터의 개수 출력
from collections import Counter
해쉬 : 요소 직접 조회 외 일이 필요할때
list_data = dict 자료형
value의 갯수를 카운트를 cnt 리스트에 저장
cnt = Counter([value for id, value in list_data])
from functools import reduce
배열 내 차례대로 누적곱
reduce(lambda x, y: x * y, tmp)
e.g. tmp = [1,2,3,4,5]
x = 처음 값
y = 위치를 변경해나가여 곱하여 지는 수
reduce 결과 = 1*2*3*4*5
딕셔너리 사용법
딕셔너리 구성 : key, value
key는 중복이 안됨 중복값 입력시 덮어 씌어짐
value는 값이 아닌 리스트도 가능
dic = {"x":1, "y":2} 딕셔너리 생성
dic["x"] 딕셔너리 서치
dic["z"] = 4 딕셔너리 추가 (단, 해당 키값이 없을 시 있으면 변경됨)
dic.values() 딕셔너리 밸류 리스트 출력
dic.keys() 딕셔너리 키 리스트 출력
dic.items() 모두 출력
중복제거
각 리스트의 요소를 묶어서 반복문에 사용
list_x
for z in zip(x, y, range(len(x))):
list_x[z[0]].append([z[1] , z[2]])
지정된 함수로 처리
list(map(int,a))
리스트 a 를 int 함수를 사용하여 연속처리 하여 list 형식으로 저장
정렬
sorted( iterable data (정렬할데이터) , key ( 정렬기준 ) , reverse (오름차순, 내림차순) )
sorted(list(d.keys()), key= lambda x: sum( map(lambda y: y[0],d[x])), reverse = True)
y[0] 은 다차원리스트에서 1번째 요소값 기준으로
y의 첫번째 값을 기준으로 d의 합을 기준으로 정렬
또는
list.sort(reverse=True or key=len)