본문 바로가기
Python

8. Python - 튜플, 세트, 딕셔너리

by 짱냐옹이 2021. 9. 17.
반응형

저번 챕터에서는 LIST 에 관하여 알아보았다.

LIST와 비슷하지만 다른 아이들! 을 알아보자.

7. Python - LIST : https://godnyaong.tistory.com/7

 

1. 튜플 (Tuple)

  : 리스트와 비슷하지만 수정이 불가함

 

※ 튜플의 뜻이 궁금해서 사전적인 의미를 찾아봤다.

 파이썬이랑은 상관 없지만.. 

  tuple의 사전적인 의미는

  multiplier 라고도 불리는 영어 숫자체계.

 single / double /  triple / quadruple / ...

 같은 것들이 여기에 해당한다.

  마치 우리나라의 일,이,삼,사 가 아닌

  하나, 둘,셋,넷 느낌인가????

  롤에서 쿼드라킬~~ 더블킬~~ 하는건 많이 봤는데..

  아무튼 이건 쓸데없는 궁금증에 찾아봤움 ㅎ.ㅎ

  나처럼 궁금한 사람이 또 있을지도 모르니까 ㅎ

 

1) 튜플의 생성

  

튜플명 = tuple () : 비어있는 tuple생성

튜플명 = tuple([data1,data2,data3...])

         : data를 넣어서 생성 [ ] list 형태로 넣는다.

튜플명 = ([data1,data2,data3...])

        : () 안에 [] list를 넣어서 생성

튜플명 = (data,)

        : 원소가 1개인 튜플을 생성

          반드시  "," 가 있어야함

튜플명=data,

튜플명=data1,data2,data3...          

        : 쉼표가 튜플을 뜻하므로 () 생략가능

 

예시)

#튜플(tuple): 수정이 불가한 리스트
t1= tuple()
t2=tuple([2,3,5])
print(t1,t2)

#초기화된 튜플 생성
t3=([1,2,3,4])
print(type(t3),t3)

#인덱싱,슬라이딩 다 가능,수정 기능은 다 불가 (append,del,sort...)

#원소가 1개인 튜플 생성
#원소가 1개인 튜플을 생성하려면 반드시 쉼표를 사용해야 합니다.
t=(3,)
print(type(t),t,len(t))

# 쉼표가 튜플을 나타내기 때문에 () 를 생략해도 됨
t=3,
print(type(t),t,len(t))

t2=2,4,5
print(type(t2),t2,len(t2))

결과값)

() (2, 3, 5)
<class 'list'> [1, 2, 3, 4]

<class 'tuple'> (3,) 1
<class 'tuple'> (3,) 1
<class 'tuple'> (2, 4, 5) 3

2. 세트 (set)

  : 수학의 집합 개념, 순서X, 중복 X, 인덱싱 X

 

1) 세트의 생성

 

세트명 = set() : 비어있는 set생성

세트명 = set([data1,data2,data3...])

         : data를 넣어서 생성 [ ] list 형태로 넣는다.

세트명 = ([data1,data2,data3...])

        : ( ) 안에 [ ] list를 넣어서 생성

세트명 = {data1,data2,data3...}

        : { } 를 이용해 생성

세트명 = set("문자열")          

        : 문자모음 하나씩 추출하여 data 구성

 

예시)

#셋(set) :  수학의 집합 개념
#중복 x , 추가 순서 유지x , 인덱싱x , 
# 여러데이터를 중복없이 얻을떄 사용
# [] : list
# () : tuple
# {} : dictionary

#생성
a=set()
print(type(a),a)

b=set([3,4,5,6])
print(type(b),b)

c={3,4,5,2}   
print(type(c),c)

d={3,4,5,2,5,5,5,5,5}
print(type(d),d)

e="meeeeeeyanong"
f=set(e)
print(f)

결과값)

<class 'set'> set()
<class 'set'> {3, 4, 5, 6}
<class 'set'> {2, 3, 4, 5}
<class 'set'> {2, 3, 4, 5}
{'m', 'g', 'n', 'y', 'e', 'o', 'a'}

 

2) 세트의 집합 연산

 : 집합과 같이 연산이 가능

 

set1 | set2 : 교집합 (.intersection)

set1 & set2 : 합집합 (.union)

set1 - set2 : 차집합 (.difference)

set1 ^ set2 : 대칭차집합 (.symmetric difference)

                 (교집합 외 나머지)

 

예시)

a={3,4,5,6}
b={0,5,6,7,8}

print(a|b)
print(a&b)
print(a-b)
print(a^b)

결과값)

{0, 3, 4, 5, 6, 7, 8}
{5, 6}
{3, 4}
{0, 3, 4, 7, 8}

 

3. 딕셔너리 (dictionary)

  : 검색을 위해 사용되는 자료구조

  : key와 value를 같이 호출함

  : 추가된 값 순서 유지 x , 중복 허용 x

 

딕셔너리명 = dict() : 비어있는 딕셔너리 생성

딕셔너리명= dict(key1=value1,key2=value2,...)

                  : 정의된 딕셔너리 생성

딕셔너리명["key1"] : 해당key1 의 value1을 호출

딕셔너리명.keys() : 딕셔너리 안 key를 확인

딕셔너리명.values() : 딕셔너리 안 value를 확인

딕셔너리명.items() : key , value 를 같이 확인

 

예시)

a = dict()

b=dict(x=3,y=20,z="nyaong",xy=30) 
#왼쪽이 key(string)(문자,숫자는 사용x )
#오른쪽이 value
print(type(b),b)
# 인덱싱(indexing) : 키를 사용
print(b["x"])
print(b["xy"])
#.keys() 딕셔너리 안의 키를 확인
print(b.keys())
#.values() 딕셔너리 안의 값을 확인
print(b.values())
#.items() key와 value를 같이 확인
print(b.items())

# 반복문에 사용
for key in b:
    print(key,b[key])
    
b=dict(x=3,y=20,z="nyaong",xy=30) 
#수정

b["y"]=100
print(b)

#추가
b["a"]="GOD"
print(b)

#제거
r=b.pop("x")
print(r,b)

#삭제
del b["xy"]
print(b)

#모두삭제
b.clear()
print(b)

#딕셔너리 자체 삭제
del(b)

결과값)

<class 'dict'> {}

<class 'dict'> {'x': 3, 'y': 20, 'z': 'nyaong', 'xy': 30}
3
30
dict_keys(['x', 'y', 'z', 'xy'])
dict_values([3, 20, 'nyaong', 30])
dict_items([('x', 3), ('y', 20), ('z', 'nyaong'), ('xy', 30)])
x 3
y 20
z nyaong
xy 30

{'x': 3, 'y': 100, 'z': 'nyaong', 'xy': 30}
{'x': 3, 'y': 100, 'z': 'nyaong', 'xy': 30, 'a': 'GOD'}
3 {'y': 100, 'z': 'nyaong', 'xy': 30, 'a': 'GOD'}
{'y': 100, 'z': 'nyaong', 'a': 'GOD'}
{}
반응형

'Python' 카테고리의 다른 글

7. Python - 리스트  (0) 2021.09.17
6. Python - 제어문 (조건문, 반복문)  (0) 2021.09.17
5. Python - 입출력  (0) 2021.09.16
4. Python - 변수  (0) 2021.09.15
3. Python - 연산자  (0) 2021.09.14

댓글