파이썬 내장 함수
# eval()
ss = "(3+5)*7"
result = eval(ss)
print(result)
## 출력 : 56
# sorted()
result = sorted([9,1,8,5,4]) # 오름차순
reverse_result = sorted(result,reverse=True) # 내림차순
print(result)
## 출력 : [1, 4, 5, 8, 9]
print(reverse_result)
## 출력 : [9, 8, 5, 4, 1]
# sorted() with key
array = [('Amy',20),('John',39),('Mike',25)]
result = sorted(array, key=lambda x : x[1],reverse=True)
print(result)
## 출력 : [('John', 39), ('Mike', 25), ('Amy', 20)]
itertools
# 순열
from itertools import permutations
data = ['A','B','C']
result = list(permutations(data,3))
print(result)
## 출력 :[('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
# 조합
from itertools import combinations
data = ['A','B','C']
result = list(combinations(data,2))
print(result)
## 출력 : [('A', 'B'), ('A', 'C'), ('B', 'C')]
# 중복순열
from itertools import product
data=['A','B','C']
result = list(product(data,repeat=2)) # 2개를 뽑는 모든 순열 구하기(중복 허용)
print(result)
## 출력 : [('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C')]
# 중복조합
from itertools import combinations_with_replacement
data=['A','B','C']
result = list(combinations_with_replacement(data,2)) # 2개를 뽑는 모든 조합 구하기(중복 허용)
print(result)
## 출력 : [('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B'), ('B', 'C'), ('C', 'C')]
collections
from collections import Counter
# 각 원소가 몇번 등장했는지 체크 가능
counter = Counter(['red','blue','red','green','blue','blue'])
print(counter['blue']) # 3
print(counter['green']) # 1
print(dict(counter)) # {'red': 2, 'blue': 3, 'green': 1}
math
import math
a = 21
b = 14
# 최소공배수(LCM)를 구하는 함수
def lcm(a,b):
return a*b//math.gcd(a,b) # gcd는 최대공약수
print(math.gcd(a,b)) # 7
print(lcm(a,b)) # 42