본문 바로가기

사전학습 Python

10.Tuple 튜플, Dictionary 딕셔너리

Tuple 튜플

리스트처럼 요소의 집합이지만 튜플은 요소 값의 수정이 불가능하다.

괄호는 생략 가능하다. 다만, 요소가 하나더라도 마지막에 ,(콤마)를 넣어줘야 한다.

 


unmbers = (1, 2, 3, 4)
numbers2 = 1, 2, 3, 4
print(unmbers) #(1, 2, 3, 4)
print(numbers2) #(1, 2, 3, 4)


 

 

언패킹


number1, number2, *number3 = numbers
print(number1, number2, number3) #1 2 [3, 4]


 

 

수정과 비슷한 효과를 내는 법

겉보기엔 같지만 id 주소값이 다르다.

새로운 객체를 참조한 다른 튜플이된다.


numbers = (1, 2, 3, 4)
numbers += 5, 6
print(numbers) #(1, 2, 3, 4, 5, 6)


 

 

Dictionary 딕셔너리

{키 : 값}

키와 값을 쌍으로 요소를 저장한다.


people = {
    "name": "김온oㅏ",
    "phone": "010-9999-9999"
}
print(people["name"], people["phone"])

#김온oㅏ 010-9999-9999


 

키는 중복될 수 없으나, 값은 중복될 수 있다.


athletes = {"handball": ["김온oㅏ", "김서ㄴr"], "volleyball": "김여언경"}
print(athletes["handball"])  #['김온oㅏ', '김서ㄴr']

print(athletes["volleyball"])  #김여언경


 

논리형 키 값

키와 값이 같은 값일 때 True

(키에 0과 False를 같이 쓰지 않도록 주의)


books = {1:"One", True:"True"}
print(books[1]) #True


 

요소 수정, 삭제, 추가

같은 키를 사용하면 값이 수정된다.

요소를 추가 할 때는 기존에 존재하지 않는 키로 값을 입력해야한다.


coffe = {"Java":2500, "Americano":2500, "Latte":3000}
print(coffe["Java"]) #2500


coffe["Java"] = 3000
print(coffe["Java"]) #3000


 

요소를 삭제할때는 del이나 pop을 사용할 수 있다.


coffee = {"Java":2500, "Americano":2500, "Latte":3000}
print(coffee) #{'Java': 2500, 'Americano': 2500, 'Latte': 3000}

del coffee["Java"]
coffee.pop("Latte")
print(coffee)  #{'Americano': 2500}


 

딕셔너리와 메서드


coffee = {"Java":2500, "Americano":2500, "Latte":3000}

print(coffee.get("Java")) #2500
print(coffee.keys())  #dict_keys(['Java', 'Americano', 'Latte'])
print(coffee.values())  #dict_values([2500, 2500, 3000])
print(coffee.items())  #dict_items([('Java', 2500), ('Americano', 2500), ('Latte', 3000)])
print("Java" in coffee)  #True


 

 

 

집합

순서가 정해져 있지 않고 중복이 없다.


week = {"월", "화", "수", "목", "금", "토", "일", "월"}
print(week) #{'금', '목', '토', '수', '일', '화', '월'}


 

집합 추가

update()

집합 안의 요소를 추가하는 메서드

리스트나 딕셔너리도 추가 할 수 있다.

하지만 딕셔너리를 추가하면 키값만 추가된다.


a = {1, 2, 3}
a.update((4,))
a.add((5,))


print(a) #{1, 2, 3, 4, (5,)}


 

add()

123(숫자), "문자", True(논리형), ("튜플")을 추가 할 수 있다.

[리, 스, 트], {"딕셔":"너리"}는 추가 할 수 없다.

0과 False, 1과 True은 중복 될 수 없다.

 


a = {0, 2, 3}
print(a)  #{0, 2, 3}
a.add(False)
a.add(1)


print(a)  #{0, 1, 2, 3}


 

set()

시퀀스(리스트 같은거?)를 집합으로 변환시켜준다.


week = set(["월", "화", "수", "목", "금", "토", "일", "월"])
print(week)

#{'수', '화', '금', '월', '일', '토', '목'}


 

합집합, 교집합, 차집합


a = {1, 2, 3, 4}
b = {3, 4, 5, 7}
print(a | b) #{1, 2, 3, 4, 5, 7}
print(a & b)  #{3, 4}
print(a - b)  #{1, 2}


 

 

요소 삭제

remove()

0과 False, 1과 True은 같다.


a = {1, 2, 3, 4}
a.remove(True)
print(a)  #{2, 3, 4}


 

'사전학습 Python' 카테고리의 다른 글

9. 2차원 리스트  (0) 2023.03.14
8.List 리스트  (0) 2023.03.14
7.문자열 메서드  (0) 2023.03.14
6. 포메팅  (0) 2023.03.12
5. 문자열 인덱싱, 슬라이싱  (0) 2023.03.12