211017_TIL_SET

은경·2021년 10월 17일
0

Set

list와 비슷하게 element를 저장할 수 있음.

List와 차이점

- 순서대로 저장되어있지 않음.

  • 따라서 for문을 이용했을때 요소들이 순서대로 나오지 않는다.
  • 순서가 없으므로 indexing도 없다.
    - 중복된값 저장 불가.
  • 중복요소 존재시 새로운 요소가 이전요소를 치환(replace)

Set 생성 방법

중괄호{ } 또는 set( )함수 사용

set1 = {1, 2, 3}
set2 = set([1, 2, 3])

set( ) 함수를 이용하는 방법은 List를 parameter로 전달 해야함.
따라서 주로 list를 set으로 변환할때 사용.

.Add( )함수 (요소추가)

새로운 요소 추가시 .append( ) 함수를 사용하지 않고 .add( )함수 사용.
list와 달리 순차적으로 더해지지 않기때문,(append는 맨뒤에 덧붙는다)

my_set = {1, 2, 3}
my_set.add(4)
print(my_set)

> {1, 2, 3, 4}

.Remove( )함수 (요소삭제)

my_set = {1, 2, 3}
my_set.remove(3)
print(my_set)

> {1, 2}

Look Up (포함값 확인)

set에 포함되어 있는값 확인가능 in 키워드를 사용.

my_set = {1, 2, 3}

if 1 in my_set:
    print("1 is in the set")
> 1 is in the set

Intersection (교집합) & Union (합집합)

  • 교집합 : & 키워드 or intersection()함수 사용
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}

print(set1 & set2)
> {4, 5, 6}

print(set1.intersection(set2))
> {4, 5, 6}
  • 합집합 : | 키워드 or union()함수 사용
print(set1 | set2)
> {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(set1.union(set2))
> {1, 2, 3, 4, 5, 6, 7, 8, 9}
예제 ) 
get_unique_numbers_count 함수는 numbers 라는 parameter를 받습니다.
numbers는 list 입니다.
Numbers의 고유 값들의 수를 return 해주면 됩니다.
예를 들어, 다음과 같은 input이 들어왔다면:
[1, 2, 1, 1, 3, 4, 5]
[1, 2, 1, 1, 3, 4, 5]
5를 리턴해주면 됩니다.

답) 
def get_unique_numbers_count(numbers):
  return len(set(numbers))
input = [1, 2, 1, 1, 3, 4, 5]
print (get_unique_numbers_count(input))

set은 중복값이 저장되지 않기때문에 set으로 변환 후 length값을 구하면 고유값 갯수를 알수있다.

profile
Python 서버 개발자

0개의 댓글