본문 바로가기
  • Top Genius in the world
알고리듬

[알고리듬] #31 딕셔너리 메소드

by Mr.Algo 2024. 4. 3.
728x90
반응형

파이썬 실습창을 열 수 있습니다.실습창 열기

 

한 송이 장미를 드립니다.

 

1. 딕셔너리 메소드

딕셔너리 메소드(dict method)는 대응 관계를 표시하여 임의의 key 값으로 value를 찾습니다. sequence(순서열)와 다르게 순서가 없습니다. 실행 중에 변경은 가능합니다(mutable).

 

{key1:value1, key2:value2, key3:value3, ...}

dict type의 item 모습입니다.

keyvalue 쌍들이 {}(brace)로 둘러싸이고, 각각의 요소는 key:value 형태이며, 코머(,)로 구분되어 있습니다.

 

다음 표는 dict type object의 관련 함수와 메소드입니다.

'example'을 실습하세요.

no item form example output  
1 len(s) s={65:'A', 66:'B', 67:'C'}
a=len(s)
print(a)
3

s의 item(항목) 개수를 반환한다.
len은 함수이다.
2 list(s) s={65:'A',66:'B',67:'C'}
a=list(s)
print(a)
[65, 66, 67]

s key 목록을 반환한다.
3 s.get(k [,v]) s={ 'name':'hong','age' :27}
a=s['age']
print(a)

b=s.get('kim','없음')
print(b)

27


없음
key ks의 항목을 반환한다.

s[k]가 있으면 s[k], 아니면 v
반환한다.
4 s[k]=x s={'name':'hong','age' :27}
s['name']='kim'
print(s)
{'name':'kim', 'age': 27}

s[k]x로 설정한다.
5 del s[k] s={'name':'hong','age' :27}
del s['name']
print(s)

{'age': 27}

s[k] 항목을 삭제한다.
6 s.clear() s={'name':'hong','age' :27}
s.clear()
print(s)

{}

s의 모든 항목을 삭제한다.
7 s.copy() s={'name':'hong','age' :27}
t=s.copy()
print(s)
print(t)
{'name':'hong','age' :27}
{'name':'hong','age' :27}

s의 복사본을 만든다.
8 k in s s={65:'A', 66:'B', 67:'C'}
a=66 in s
print(a)

True

key ks에 있으면 True,
아니면 False를 반환한다,
9 s.keys()
s.values()
s.items()
s={65:'A', 66:'B', 67:'C'}
k=s.keys()
v=s.values()
i=s.items()
print(k)
print(v)
print(i)


[65, 66, 67]
['A', 'B', 'C']
[(65, 'A'), (66, 'B'), (67, 'C')]

s의 모든 keylist
s의 모든 valuelist
skeyvalue를 list
10 s.pop(k [,default]) s={65:'A', 66:'B', 67:'C'}
a=s.pop(67)
print(s)
print(a)
{65: 'A', 66: 'B'}
C

- s[k]가 있으면 s[k]를 반환하고 삭제
- s[k]가 없고 default가 있으면 default 반환
- 아니면
KeyError를 반환
11 s.update(a)
s={65:'A', 66:'B', 67:'C'}

a={68:'D'}
s.update(a)
print(s)
{65:'A', 66:'B', 67:'C', 68:'D'}

dict  a의 모든 쌍을 s에 추가

 

 

2. 나이 출력

이름과 나이 데이터가 있습니다.

이름 나이
alice 5
bob 20
tony 15
suzy 30

 

이름을 입력받아서 나이를 출력하여 봅시다.

tony를 입력하면tony is 15

입력받은 이름이 없으면  나이 대신에 '이름 없음'을 출력합니다.

 

더보기
table = dict(alice=5, bob=20, tony=15, suzy=30)  # dict를 만드는 간단한 방법입니다.
name = input('Name?')
age = table.get(name, '이름 없음')  # 입력된 이름이 table에 없으면 ‘이름 없음’ 반환
r = f'{name} is {age}'  
print(r)

'''
4번 줄에서 f-format이 안되면  r='{} is {}'.format(name,age)
'''

 

수고하셨습니다.

모두 외우지 않아도 됩니다. 필요할 때 찾아보면 됩니다.

 

오늘 끝.

728x90
반응형