이 파일은 제가 python 기초 강의를 들으면서 필기했던 내용들을 간단하게 정리한 것입니다.
혹시나 잘못된 정보가 포함되어있을수도 있기 때문에,
python 내용을 아시는 분들중에 잘못된 내용을 잡아내신 경우에는 댓글을 달아주시길 바랍니다.
----------------------------------------------------------------------------------------------------
저는 이미 c언어를 공부한 이후에 파이썬을 공부하고 있는 터라, 필기 내용 자체가 아무래도 c언어와 파이썬의
차이점을 위주로 정리를 했습니다. 그렇기 때문에 python을 아예 모르시는 분은 이 문서를 읽기에 약간 불편함이
있을수도 있다는 점 양해바랍니다. c언어를 어느정도 알고 이 문서를 보는걸 추천드립니다 ㅎㅎ
저도 아직 초보라 틀린 내용이 있을수 있고, 만약 그 부분을 잡아내신다면 댓글로 알려주시길 바랍니다.
----------------------------------------------------------------------------------------------------
<<딕셔너리>>
> 여러 값을 저장해두고 필요한 값을 꺼내 쓰는 기능
> 이름표(key)를 이용하여 값(value)을 꺼내 사용
> 딕셔너리명 = {
'이름표1':'값1'
'이름표2':'값2'
}
ex)
wintable = {
'가위':'보', # 이름표 : 값
'바위':'가위', # 이름표 : 값
'보':'바위' # 이름표 : 값
}
# print(wintable['가위']) #'가위'라는 이름을 가진 값을 가져오기!
# list에서는 값을 가져올때 인덱스 번호를
# 이용했지만, 딕셔너리에서는 그 값에 해당되는 이름표의 이름을 이용한다!
def rsp(mine, yours):
if mine == yours:
return 'draw'
elif wintable[mine] == yours:
return 'win'
else:
return 'lose'
result = rsp('가위','바위')
messages = {
'win':'이겼다',
'draw':'비겼다',
'lose': '졌어..'
}
print(messages[result])
# ↓ 이름표는 문자열 또는 숫자,튜플을 주로 사용하지만
dict = { "이름표" : [1,2,3] }
# ↑ 값은 리스트를 포함해서 무엇이든 올 수 있습니다.
print( dict["이름표"] )
<<딕셔너리 수정, 추가, 삭제>>
(**이때 dict, list는 dict, list의 이름이다. 진짜 list,dict 이렇게 적는게 아님!**)
1
리스트의 값을 수정하고 싶을땐 list[인덱스 번호] = 수정할 값,
딕셔너리의 값을 수정하고 싶을땐 dict[이름표] = 수정할 값,
2
리스트의 값을 추가하고 싶을땐 list.append 함수 사용
딕셔너리의 값을 추가하고 싶을떈 append 함수 없으므로, 그냥 dict[추가할 이름표] = 추가할 값
3
리스트의 값을 삭제하고 싶을땐 del(list[인덱스번호]) or print(list.pop(인덱스 번호))
딕셔너리의 값을 삭제하고 싶을땐 del(dict['이름표']) or print(dict.pop('이름표')) ..
(* pop할때 [ ] 아니고 ( ) 이다. )
(* 이때 pop함수를 사용하면 삭제한값이 리턴된다!)
<<딕셔너리와 반복문>>
> 딕셔너리의 단점: 저장한 순서를 지키지 않음! 출력순서를 지키지 않는다.
> 딕셔너리의 장점: key를 가지고 value를 찾아낼수있음!
ages = {'tod':35,'paul':62,'sam':23}
for key in ages.keys():
print(key)
#tod
#paul
#sam
for value in ages.values():
print(value)
#35
#62
#23
for key in ages.keys():
print('{}의 나이는 {}세입니다.'.format(key,ages[key]))
#tod의 나이는 35세입니다.
#paul의 나이는 62세입니다.
#sam의 나이는 23세입니다.
for key in ages: #.keys()는 생략 가능!
print('{}의 나이는 {}세입니다.'.format(key,ages[key]))
#tod의 나이는 35세입니다.
#paul의 나이는 62세입니다.
#sam의 나이는 23세입니다.
<<items()>>
=>Dictonary의 key-value 쌍을 Tuple로 구성하여 반환한다. 한 세트로!
ex)
ages = {'tod':35,'paul':62,'sam':23}
for key,value in ages.items():
print('{}의 나이는 {}세입니다.'.format(key,value))
-----------------------------------------------------------------------------------------------------------------------------
<<리스트와 딕셔너리의 비교>>
-공통점
List | Dictionary | |
생성 | list = [ 1, 2 ,3 ] | dict = { 'one':1, 'two':2 } |
호출 | list[ 0 ] | dict[ 'one' ] |
삭제 | del( list[ 0 ] ) | del( dict[ 'one' ] ) |
개수 확인 | len( list ) | len( dict ) |
값 확인 | 2 in list | 'two' in dict.keys( ) |
전부 삭제 | list.clear( ) | dict.clear( ) |
전부 꺼내는 명령어 | enumerate() | items() |
- 차이점
List | Dictionary | |
순서 | 삭제 시 순서가 바뀌기 때문에 인덱스에 대한 값이 바뀐다 | key로 값을 가져오기 때문에 삭제 여부와 상관없다 |
결합(갱신) | list1 + list2 | dict1.update( dict2 ) |
<<데이터의 갱신 : update>>
>>dict1.update( dict2 ) =>dict1의 값에다가 dict2의 값으로 덮는다.. (만약 key가 동일하면 그 키의 값은 dict2의 값으로 업데이트됨)
>>dict2.update( dict1 ) => 그 반대이다.
ex)
mydict = {'김기수': 30, '홍대길': 35, '강찬수': 25}
mydict.update({'홍대길':33,'강찬수':26})
print(mydict) #{'김기수': 30, '홍대길': 33, '강찬수': 26}
'Python' 카테고리의 다른 글
python 간단 정리 - (11) (0) | 2020.02.25 |
---|---|
python 간단 정리 - (10) - <간단한 Tip!> (0) | 2020.02.24 |
python 간단 정리 - (8) (0) | 2020.02.24 |
python 간단 정리 - (7) (0) | 2020.02.23 |
python 간단 정리 - (6) (0) | 2020.02.16 |