Coding & Programming/Python 기초(A-Z)

[Python:파이썬:기초] 7. 자료형 - 집합(Set)

mainCodes 2021. 5. 16. 09:20

[Python:파이썬:기초코딩] 7. 자료형 - 집합(Set)

 

안녕하세요 JollyTree입니다 (•̀ᴗ•́)و

 

set은 단일 변수에 여러개의 요소를 저장할 수 있습니다. 딕셔너리와 동일하게 중괄호('{', '}')를 사용하지만 key, value의 개념과 요소 값(인덱스)은 사용할 수 없습니다. 그리고 요소 내 중복된 요소가 있는 경우 무시됩니다. 

 

s4 = { 'banana''banana''orange''watermelon''persimmon'}  #banana 중복

 

※ (참고) 파이썬은 버전에 따라 문법과 사용법이 조금 다를 수 있습니다.  사용하고 있는 파이썬 버전과 특성을 이해하는 것이 필요하며, 가능하면 가장 최신 버전을 사용할 것을 권합니다.

 

아래 예제는 set 변수 선언과 초기화, set 변수간 차집합, 교집합, 합집합, 대칭차집합 구하기, 요소 추가/삭제, 길이 구하기 등을 보여줍니다. 

 

🔗 집합(Set)형 변수 선언, 초기화, 출력 예제(Example):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 변수 선언, 초기화
s1 = {123456}
s2 = {678910}
s3 = { 'apple''banana''orange''watermelon''persimmon'}
s4 = { 'banana''banana''orange''watermelon''persimmon'}
s5 = {123TrueTrueFalse }
s6 = {1'apple'2'banana'3'orange'False#여러 자료형 포함 가능
#생성자를 이용할 경우 중복괄호 사용
s7 = set(('persimmon''apple''orange'))
s8 = {'1'23, (4,5)}
 
#출력
print("s1의 값 = ", s1)
print("s2의 값 = ", s2)  #banana 2개 중 1개만 출력(1개는 무시됨)
print("s2의 크기 = "len(s2))
#print("s1 + s2의 값 = ", s1+s2) #연산 불가, 에러
 
print("s5의 값 = ", s5)  #1과 True는 동일한 값으로 간주하여 무시됨
print("s5의 크기 = "len(s5))  #크기가 4로 나옴
s6.add('grape')          #요소 추가
s6.add(4)                #요소 추가
print("s6의 값 = ", s6)
 
s8.discard(3)            #3을 삭제, 없어도 에러 발생하지 않음
print("s8의 값 = ", s8)
 
s8 = {'1'23, frozenset([4,5]) } 
s8.remove(3)             #3을 삭제, 없으면 에러 발생
s8.discard(4)            #4, 삭제되지 않음
print("s8의 값 = ", s8)
 
print("s1 - s2 =", s1-s2) #차집합
print("s2 - s1 =", s2-s1) #차집합
print("s1 & s2 =", s1&s2) #교집합
print("s1 | s2 =", s1|s2) #합집합
print("s1 ^ s2 =", s1^s2) #대칭차집합
print("(s1-s2) | (s2-s1) =", (s1-s2) | (s2-s1)) 
 
s1.update([100200300]) #한번에 3개 요소 추가
print("s1의 값 = ", s1)
 
print("s6의 자료형 = ", type(s6))
print("s7의 자료형 = ", type(s7))
print("s8의 자료형 = ", type(s8))
cs

 

🔗 실행결과(Output):

 

 

이상 JollyTree였습니다 (•̀ᴗ•́)و