-
TIL.19 set 조작하기TIL 2020. 10. 27. 22:44728x90
## set 세트 만들기
## set = {값1, 값2, 값3} 구조 // 중괄호
a = {'strawberry', 'grape', 'orange', 'pineapple', 'cherry'}
print(a) # 매번 다름
:: {'strawberry', 'grape', 'orange', 'cherry', 'pineapple'}
## set에서는 요소의 순서가 정해져 있지 않다.
## 따라서 a를 출력할 경우 코드가 동작할때마다 매번 요소의 순서가 다르게 나온다.
b= {'orange', 'orange', 'cherry'}
print(b)
:: {'orange', 'cherry'}
## set에 들어가는 요소의 중복이 없다! (중복이 될 수 없다고 표현하기도한다)
## 따라서 중복값 'orange'는 두개 이상을 넣어도 실제로는 하나만 사용된다.
a_set = {'strawberry', 'grape', 'orange', 'pineapple', 'cherry'}
a_list = ['strawberry', 'grape', 'orange', 'pineapple', 'cherry']
a_tuple = ('strawberry', 'grape', 'orange', 'pineapple', 'cherry')
a_dict = {'strawberry': 1, 'grape' :2 , 'orange' : 3, 'pineapple' : 4, 'cherry' : 5 }
print(a_set[0]) ## error
print(a_list[0]) # 'strawberry'
print(a_tuple[0]) # 'strawberry'
print(a_dict['strawberry']) # 1 // a_dict['값']으로는 출력 불가
## set는 list, tuple, dictinoary 와 다르게 [] 인덱스 or 키 를 이용해 특정 요소를 출력할 수 없다.
## set에 특정 값이 있는지 확인하기
# 값 in 세트 / 값 not in 세트
a = {'strawberry', 'grape', 'orange', 'pineapple', 'cherry'}
print('orange' in a)
:: True
print( 'apple' in a)
:: False
print('orange' not in a)
:: False
print('apple' not in a)
:: True
## in 연산자를 이용해 특정값이 set에 있으면 Trur, 없으면 False
## set를 사용하여 set 만들기
## set(반복가능한 객체)
a = set('apple')
print(a)
:: {'a', 'l', 'e', 'p'} # 요소 순서 계속 바뀜
g = set('문타리최고')
print(g)
:: {'문', '타', '리', '고', '최'}
## 여기서는 문자열 'apple' 중 "유일한 문자"(중복이 없는)만으로 set를 만듬
## a p p l e // P 중복
b = set(range(5))
print(b)
:: {0, 1, 2, 3, 4} # range에서는 요소 순서가 바뀌지 않는듯 하다
## range 등 반복가능한객체 모두 사용가능
c = set()
print(c)
:: set()
d= {}
print(d)
:: {}
print(type(d))
:: <class 'dict'>
## 빈 세트는 set에 아무것도 지정되지 않는다
## 또한 d = {} 와 같이 만들면 "빈 딕셔너리"가 만들어지므로 주의하자 (no set)
728x90'TIL' 카테고리의 다른 글
TIL. 21 파일 사용하기 (0) 2020.10.29 TIL. 20 set_조작하기_2 (0) 2020.10.28 TIL. 18 Dictionary 조작하기 (0) 2020.10.26 TIL. 17 python 과제 (목차확인) (0) 2020.10.25 TIL. 16 문자열 서식 지정자 및 포매팅 사용하기 (0) 2020.10.24