# 딕셔너리
= 리스트와 같이 다른 값을 여러 개 담을 수 있음
Java의 Map 정도로 생각하면 될 듯!
key:value를 여러개 담는 것!
사용 할 때에는 key값으로 호출하고 value값을 얻는다
dic = { "key값!" : "value값!" }
key값으로는 문자열, 숫자형, 튜플 사용 가능 (리스트)
value값으로는 어떤 타입이든 상관 없음
추가 dict['three'] = 3 → 리스트와 동일
수정 dict['one'] = 11
삭제 del(dict['one']) → 리스트와 동일
dict.pop('two') → pop하는 값을 리턴 시켜준다
- 딕셔너리 반복문 활용
for key in ages.keys(): → keys() 생략 가능 (딕셔너리일 때에는 keys()가 default)
print(key)
for value in ages.values():
print(value)
for key, value in ages.items(): →items() = key와 value 값 둘 다 가지고 옴
print('{}의 나이는 {} 입니다'.format(key, value))
딕셔너리는 선언할 때의 값의 순서를 지키지 않는다.
(저장한 순서를 지키기 위해서는 list를 써야 함)
- 리스트와 딕셔너리 비교
공통점
List | Dictionary | |
생성 | list = [ 1, 2 ,3 ] | dict = { 'one':1, 'two':2 } |
호출 | list[ 0 ] | dict[ 'one' ] |
삭제 |
del( list[ 0 ] ) list.remove(값) |
del( dict[ 'one' ] ) |
개수 확인 | len( list ) | len( dict ) |
값 확인 | 2 in list | 'two' in dict.keys( ) |
전부 삭제 | list.clear( ) | dict.clear( ) |
차이점
List | Dictionary | |
순서 | 삭제 시 순서가 바뀌기 때문에 인덱스에 대한 값이 바뀐다 | key로 값을 가져오기 때문에 다른 값의 삭제 여부와 상관없다 |
결합 | list1 + list2 | dict1.update( dict2 ) |
# 튜플
한 번 만들고 나면 변경할 수 없는 순서가 정해진 값의 연속!
tuple1 = (1,2,3) → 괄호 안 넣어도 되지만 명시해주는 게 보통!!!
생성시 리스트 값을 튜플에 부어줄 수도 있음
불러올 때에는 리스트와 같은 방식으로 불러올 수 있음 tuple[index]
튜플의 값은 변경과 삭제가 불가능함
# packing / unpacking
packing = 하나의 변수에 여러 값을 넣는 것
unpacking = 패킹된 변수에서 여러개의 값을 빼오는 것
- 두 변수의 값을 바꿀 때 임시변수가 필요 없다. ( x,y = y,x ) → temp 변수 따위 필요 없음
- 함수의 리턴 값으로 여러 값을 전달할 수 있다.
def test():
return 1,2,3,4,5
a,b,c,d,e = test() → test함수의 return값들이 차곡차곡 차례대로 들어감
for문에 enumerate를 쓰면 한 번에 '인덱스(혹은 key)'와 '값(value)'을 튜플로 for문을 돌면서 return 해주는 거임
*tuple = tuple을 쪼개라 라는 뜻임
튜플 리스트 활용
for a in enumerate(list):
print('{}번째 값: {}'.format(a[0], a[1]))
for a in enumerate(list):
print('{}번째 값: {}'.format(*a))
튜플 딕셔너리 활용
for a in dict.items():
print('{}의 나이는:{}'.format(a[0], a[1]))
for a in dict.items():
print('{}의 나이는:{}'.format(*a))
'개발 > PYTHON' 카테고리의 다른 글
[Python] 파이썬 시작해보기_5 (0) | 2020.03.08 |
---|---|
[Python] SyntaxError: Non-UTF-8 code starting with '\xc7' ... (2) | 2020.03.08 |
[Python] 파이썬 시작해보기_3 (0) | 2020.03.05 |
[Python] 파이썬 시작해보기_2 (0) | 2020.03.04 |
[Python] 파이썬 시작해보기 (0) | 2020.03.03 |