728x90
반응형

프로그램에는 자료형이라는 것이 있습니다. 숫자, 문자열 등 자료의 형태로 사용하는 것을 이야기합니다. 이것은 프로그램의 기본이자 핵심입니다. 자료형을 알지 못하면 프로그램을 짤 수 없으며, 각 언어마다 비슷하지만 조금씩 다른 방식으로 연산을 합니다. 이러한 자료형에 대해 알아보겠습니다.

 

집합 자료형

집합 자료형 만들기

집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형입니다. 집합에 관련되는 것을 처리하기 위해 만든 자료형입니다.

집합 자료형은 다음과 같이 만들 수 있습니다.

s1 = set([1,2,3])
s2 = set("hi")
s3 = set()

집합 자료형 특징

집합 자료형에는 2가지 특징이 있습니다.

  • 중복을 허용하지 않는다.
  • 순서가 없다.

set 자료형은 순서가 없어 인덱싱으로 값을 얻을 수 없습니다. 이것은 앞에서 살펴본 딕셔너리 자료형과 같습니다.

 

교집합, 합집합, 차집합 구하기

set 자료형을 유용하게 사용하는 경우는 교집합, 합집합, 차집합을 구할 때 입니다. 아래 코드를 통해서 확이내보도록 하겠습니다.

[코드]


s1 = set([1,2,3,4])
s2 = set([3,4,5,6,7,8,9])

#교집합
print("교집합1 : ", s1 & s2)
print("교집합2 : ", s1.intersection(s2))

#합집합
print("합집합1 : ", s1 | s2)
print("합집합2 : ", s1.union(s2))

# 차집합
print("차집합 s1-s2 : ", s1 - s2)
print("차집합 s2-s1 : ", s2 - s1)
print("차집합 s1-s2 : ", s1.difference(s2))
print("차집합 s2-s1 : ", s2.difference(s1))

[출력]

교집합1 :  {3, 4}
교집합2 :  {3, 4}
합집합1 :  {1, 2, 3, 4, 5, 6, 7, 8, 9}
합집합2 :  {1, 2, 3, 4, 5, 6, 7, 8, 9}
차집합 s1-s2 :  {1, 2}
차집합 s2-s1 :  {5, 6, 7, 8, 9}
차집합 s1-s2 :  {1, 2}
차집합 s2-s1 :  {5, 6, 7, 8, 9}

집합 자료형 함수

집합 자료형에 관련된 함수를 아래 코드를 통해서 알아보겠습니다.

[코드]

s1 = set([1,2,3])
s2 = set([4,5,6])

# 값추가하기
print("추가전:",s1)
s1.add(4)
print("추가후:",s1)

print("추가전:",s1)
s1.update(s2)
print("추가후:",s1)

# 값 제거하기
print("제거전:",s1)
s1.remove(2)
print("제거후:",s1)

[출력]

추가전: {1, 2, 3}
추가후: {1, 2, 3, 4}
추가전: {1, 2, 3, 4}
추가후: {1, 2, 3, 4, 5, 6}
제거전: {1, 2, 3, 4, 5, 6}
제거후: {1, 3, 4, 5, 6}
728x90
반응형

+ Recent posts