파이썬

, 연산자

a = [[1],[2],[3]]
a += [4], #append와 비슷한 역할을 한다 [[1],[2],[3],[4]]

Sorted Cmp

python 3버전에서는 sorted 안에 cmp가 없이 key만 있다. key는 함수에 인자 값이 하나라서 비교하는 구문을 넣을 수 없다. 그래서 from functools import cmp_to_key 를 사용하면 된다

from functools import cmp_to_key
sorted(a, key=cmp_to_key(lambda x,y : x-y))

String to Int List

list(map(int,"1234"))

파이썬 리스트 중복 제거하기

set을 이용해서 list(set(arr)) 을 이용할 수 있다. 그러나 문제는 순서가 보장되지 않는다는 것

순서 보장이 필요할 때는 반복문으로 사용하는 게 베스트인듯

Itertools Product

배열을 넣었을 때 데카르트 곱을 해준다. 쉽게 이야기해서 조합 결과를 반환한다는 이야기. 깊이 탐색 대신 Pythonic하게 사용할 수 있음.

보통 배열을 비구조화한 후 사용한다

from itertools import product

arr1 = [1,2,3]
arr2 = ["12","34","56"]
arr3 = [[1,2],[3,4],[5,6]]
list(product(*arr1)) #[1,2,3]
list(product(*arr2)) #[1,3,5],[1,3,6],[1,4,5],[1,4,6],[2,3,5], ...