프로그래밍/파이썬
이것이 취업을 위한 코딩테스트다 문법부분 공부2 라이브러리
OneByteSir
2021. 2. 20. 13:19
#주요 라이브러리의 문법과 유의점
# 책에서 말하는 코테에 가장 중요한 파이썬 라이브러리는 6가지가 있다
# 내장함수 : 설명생략
# itertools: iter는 반복이라는 뜻이 있다., 반복되는 형태의 데이터를 처리하는 기능을 제공한다. 순열과 조합 라이브러리를 제공한다.
# heapq : 힙(heap) 기능을 제공하는 라이브러리다. 우선순위 큐 기능을 구현할떄 사용
# bisect: 이진탐색 기능을 제공한다
#collections : 덱(deque), 카운터(Counter) 기능을 제공하는 라이브러리
# math : 필수적인 수학적 기능을 제공하느 라이브러리이다 . 팩토리얼,제곱근,최대공약수(GCD), 삼각함수 관련 함수부터 파이 같은 상수도 있다.
#내장함수
#iterable객체란? iterable 객체는 반복가능한 객체를 말한다. 리스트,사전자료형,튜플자료형 등이 해당함
#sum() 함수는 iterable 객체가 주어졌을때 우너소의 합 리턴
result = sum([1,2,3,4,5])
result = sum([2,5,6,7])
print(result)
# min() 리스트넣어도 되고 그냥 max() 에 보이는 것 처럼 숫자 넣어도 됌 리스트 여러개를 넣을시 가장적은수가 있는 리스트 반환
result = min([7,13,53,23],[24,8,55,66,77])
result = min([7,13,53,23])
print(result)
result= max(1,2,53,67,3565,532)
print(result)
#eval() 함수는 문자열형태의 수식 입력값을 받아서 그 수식을 풀은 값을 반환값으로 반환한다.
result= eval("4*(2+3)+3")
print(result)
#sorted() 는 iterable 객체가 들어 왔을때 정렬된 결과를 반환한다.
result = sorted([1,3,22,4,6]) #오름차순 정렬
print(result)
result = sorted([1,3,22,4,6],reverse=True) #내림차순
print(result)
# 어려움주의!@
#리스트의 원소로 리스트나 튜플이 존재할때
# 특정한 기준에 따라서 정렬을 수행할 수 있다. 정렬 기준은 key 속성을 통해 명시 가능
# 예시로 아래처럼 원소를 튜플의 두 번째 원소(수)를 기준으로 내림차순으로 정렬하고자 한다면 다음과 같이 사용가능
result = sorted([('홍길동',60),('홍길동',35),('이순신',75),('아무개',50),('이순신',35)],key = lambda y:(y[1],y[0]),reverse=True)
# key 속성은 정렬기준이 되길 원하는 함수를 값으로 받아서 정렬기준을 정해준다.
# 위의 key의 경우 리스트안에 튜플의 1번인덱스 값의 크기를 먼저비교하고 0번인덱스를 후순위로 비교해서 정렬하라는 람다식을 받고 있는것이다.
print(result)
# 위에 말 이해가 안가서 다른사이트에서 공부함
result=sorted("난는 위에서 무슨말하는지 잘 모르겠어요".split(),key=str.lower) # 문장을 띄어쓰기 기준으로 띄워서 저장하는데 저장하는 기준은 str.lower 이다
print(result)
# list.sort() list 는 기본적으로 sort() 함수를 내장하고 있다
data = [1,5,7,24,3,2]
data.sort()
print(data)
#itertools 에 여러 클래스가 제공되고 그중 가장 잘 쓰이는 것은 permutations(한국말 순열)와 combinations(한국말로 조합)이다
from itertools import permutations
data = ['A','B','C'] #데이터 준비
result = list(permutations(data,3)) # 모든 순열 구하기 data의 원소를 이용해 3개의 배열로 나타내는 것 순서가 존재 구분함
print(result)
from itertools import combinations
data =['A','B','C']
#combinations
result = list(combinations(data,2)) # 2개를 뽑는 모든 조합을 구함
print(result)
# product
from itertools import product