강의
Python Dictionary
파이썬에서 제공하는 딕셔너리 자료형을 배웠다.
딕셔너리는 Key, Value를 이용하여 대응 관계를 나타낼 수 있는 자료형이다.
배열과 다르게 { } 를 이용한다.
- 딕셔너리에서 Key, Value 값 얻기
1
2
3
dic.key()
dic.values()
dic.items()
items를 이용하면 두 값을 모두 얻을 수 있다.
값을 리스트에 담으려면 list()로 감싸주면 된다.
1
list(dic.key())
- Key를 이용하여 Value 얻기
1
2
dic.get(key)
dic[key]
두 방법으로 동일한 결과를 가질 수 있다.
하지만 키값이 존재하지 않는 경우 [] 를 이용하면 key 오류가 발생하며, get() 함수를 이용할 경우 None을 돌려준다.
get() 함수의 경우 default 값을 반환하도록 설정할 수 있다.
1
dic.get(key, default)
key값이 없을 경우 default 를 반환한다.
집합 (set)
파이썬은 집합과 관련된 자료형을 지원한다.
set 키워드를 통해 집합을 만들수 있다.
1
s = set([1,2,3])
집합은 두 가지 특징을 가지고 있다.
- 중복을 허용하지 않는다.
- 순서가 없다.
집합에 값을 추가할 때는 add, update를 이용한다.
1
2
3
s1.add(x)
s1.update([x,y])
집합의 원소를 삭제할 때는 remove를 이용한다.
1
s1.remove(x)
- 교집합
두 가지 방법을 이용할 수 있다.
1
2
3
s1 & s2
s1.intersection(s2)
- 합집합
두 가지 방법을 이용할 수 있다.
1
2
3
s1 | s2
s1.union(s2)
- 차집합
두 가지 방법을 이용할 수 있다.
앞의 교집합, 합집합과 달리 두개의 순서에 따라 결과가 달라진다.
1
2
3
s1 - s2
s1.difference(s2)
람다 (lambda)
람다는 파이썬에서 제공하는 기능으로 간단한 함수를 만들어 사용할 수 있다.
이름 없는 함수, 익명함수라고 한다.
사용방법은 생각보다 간단하다.
1
lambda 인자 : 표현식
이와 같은 형식으로 사용할 수 있다.
탐욕법 (Greedy Algorithm)
알고리즘의 각 단계에서 최적이라고 생각되는 것을 선택하는 방법.
현재의 선택이 전체 단계의 최적해를 해치지 않는다는 것을 보장하는 경우에 사용할 수 있음.