[Python] Dictionary 2

yuuforest·2023년 7월 14일
0

Python 문법

목록 보기
12/17
post-thumbnail

모든 값 가져오기, 하나씩 값 가져오기

🍦 모든 값 가져오기


✔️ (key, value)

N = {'a': 1, "b" : (2, 3), 4 : 'd', (5, 6) : 'e'}

print(N.items())

>> dict_items([('a', 1), ('b', (2, 3)), (4, 'd'), ((5, 6), 'e')])

✔️ keys

N = {'a': 1, "b" : (2, 3), 4 : 'd', (5, 6) : 'e'}

print(N.keys())

>> dict_keys(['a', 'b', 4, (5, 6)])

✔️ values

N = {'a': 1, "b" : (2, 3), 4 : 'd', (5, 6) : 'e'}

print(N.values())

>> dict_values([1, (2, 3), 'd', 'e']) 

🍦 하나씩 값 가져오기


✔️ key로 value 찾기

N = { 'a': 1, "b" : (2, 3), 4 : 'd', (5, 6) : 'e'}

N['b'], N[4], N[(5, 6)]

>> (2, 3) d e
N = {"초코":150, "바나나":200, "딸기":80}

N["초코"]

>> 150
N = {"초코":150, "바나나":200, "딸기":80}

N["파인애플"]

>> KeyError: '파인애플'

✔️ setdefault
1. (key)

N = {"초코":150, "바나나":200, "딸기":80}

print(N.setdefault("초코"))				# key가 존재하면 value 값을 가져오고,

>> 150

print(N.setdefault("파인애플"))			# key가 없으면 None을 가져옴

>> None

print(N)								# "파인애플" key 값이 들어감

>> {'초코': 150, '바나나': 200, '딸기': 80, '파인애플': None}

2. (key, 첫 설정값)

N = {"초코":150, "바나나":200, "딸기":80}

print(N.setdefault("초코", 0))			# key가 존재하면 value 값을 가져오고,

>> 150

print(N.setdefault("파인애플", 0))		# key가 없으면 설정한 초기값을 가져옴

>> 0

print(N)								# "파인애플" key 값이 들어감

>> {'초코': 150, '바나나': 200, '딸기': 80, '파인애플': 0}

✔️ get
1. (key)

N = {"초코":150, "바나나":200, "딸기":80}

print(N.get("초코"))						# key가 존재하면 value 값을 가져오고,

>> 150

print(N.get("파인애플"))					# key가 없으면 None을 가져옴

>> None

2. (key, 반환값)

N = {"초코":150, "바나나":200, "딸기":80}

print(N.get("초코", 0))					# key가 존재하면 value 값을 가져오고,

>> 150

print(N.get("파인애플", 0))				# key가 없으면 설정한 초기값을 가져옴

>> 0

print(N)								# "파인애플" key 값이 들어가지 않음

>> {'초코': 150, '바나나': 200, '딸기': 80}

✔️ defaultdict
1. 기본 : int, str, list, set, ...

from collections import defaultdict

N = defaultdict(int)

print(N["초코"])

>> 0

print(N)

>> defaultdict(<class 'int'>, {'초코': 0})
N = defaultdict(list)

print(N["초코"])

>> []

print(N)

>> defaultdict(<class 'list'>, {'초코': []})

2. lambda 사용

from collections import defaultdict

N = defaultdict([1, 2, 3])

print(N["초코"])

>> TypeError: first argument must be callable or None
from collections import defaultdict

N = defaultdict(lambda: [1, 2, 3])

print(N["초코"])

>> [1, 2, 3]

print(N)

>> defaultdict(<function <lambda> at 0x00000253B783B790>, {'초코': [1, 2, 3]})
profile
🐥 Backend Developer 🐥

0개의 댓글