from itertools import combinations as comb, permutations as perm
arr = ['A','B','C']
nPr = perm(arr,2)
print(list(nPr))
[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
from itertools import combinations as comb, permutations as perm
arr = ['A','B','C']
nCr = comb(arr,2)
print(list(nCr))
[('A', 'B'), ('A', 'C'), ('B', 'C')]
zip(lst1,lst2)
lst1과 lst2 각각을 짝지은 zip 객체가 반환됨.
list나 dictionary 등 자료구조를 이용하여 표현 가능
Ex)
print(list(zip(range(0,7), "월화수목금토일")))
[(0, '월'), (1, '화'), (2, '수'), (3, '목'), (4, '금'), (5, '토'), (6, '일')]
max(dictionary, key=dictionray.get)
딕셔너리에서 밸류의 최대값을 갖는 키를 찾는 방법이다.
말이 어려울 수 있는데, 예를 들어
{'A': 3,'B': 5,'C: 1}
다음의 딕셔너리에서 최대 밸류는 5이고 해당하는 키는 B다.
sorted(dictionary.items(),key=func, bool reverse)
key를 기준으로 정방향/역방향 정렬을 수행
dictionary = {1:1, 2:2, 3:3}
위의 딕셔너리를 밸류 기준으로 정렬한다고 가정해보자.
def temp(x):
return x[1]
sorted(dictionary.items(),key=temp, reverse=True)
위와 같이 작성할 수도 있지만 temp함수는 재사용성이 없다.
따라서, 임시방편으로 함수를 제작하고 쓴 다음 버려야 하는데 그 때 필요한 게 람다다.
test = {
'A': 1,
'B': 2,
'C': 3,
}
print(sorted(test.items(),key=lambda item:item[1], reverse=True))
위와 같이 작성 가능.
수정중 ...