처음 등장하는 원소이면 사전에 추가한다. 만약 같은 원소가 다시 등장하면 이 함수는 True를 반환한다.
집합을 사용해서 같은 함수를 다음과 같이 작성할 수 있다.
def has_duplicates(t):
return len(set(t)) < len(t)
원소는 집합에서 한 번만 나타날 수 있으므로 t의 원소가 두 번 이상 나타나도 집합은 t보다 작게 된다. 중복이 없다면 집합은 항상 t와 같은 크기가 된다.
또한, 집합을 사용해서 9장 연습문제의 일부를 해결할 수 있다. 예를 들어 루프를 사용한 uses_only를 살펴보자.
def uses_only(word, available):
for letter in word:
if letter not in available:
return False
return True