본문 바로가기
CODING/Python

[Python] 딕셔너리와 리스트 비교 / Dictionary | List

by 밍톨맹톨 2022. 7. 30.
728x90
728x90

리스트 [ ] 대괄호 안에 값을 넣어주고 인덱스로 값을 접근한다. 

딕셔너리{} 중괄호 안에 key:value의 형태로 저장한다. 

 

리스트가 값에 접근할 때 인덱스(숫자)로 접근했다면,

딕셔너리는 이름(key)로 접근한다고 생각하면 된다.  

ls = [23, 41, 2, 231, 256]

dic = {'name' : '홍길동',
       'phone' : '01012341234',
       'accept' : True}

print(ls[1]) # 41
print(dic['name']) # 홍길동

 

딕셔너리는 key로 접근하기 때문에 key가 겹치면 안된다.

예를 들어 아래의 코드를 보면 name홍길동과 가나다 두 개가 존재하는데,

이 경우 프린트 해보면 뒤에 있는 가나다로 업데이트 된 것을 볼 수가 있다. 

 

이런 식으로 딕셔너리는 key가 겹칠 경우 뒤의 값으로 업데이트 된다고 생각할 수 있다. 

dic1 = {'name' : '홍길동',
        'phone' : '01012341234',
        'accept' : True,
        'name' : '가나다'}
    
print(dic1) 
# {'name': '가나다', 'phone': '01012341234', 'accept': True}

 

리스트에 값을 추가할 때는 ls.append()라는 함수(메소드)를 사용하는데

딕셔너리 dic1[key값] = value값 이런 식으로 추가하면 된다. 

 

리스트에서 값을 삭제할 때는 ls.remove() 괄호 안에 삭제를 원하는 값을 삭제하면 되는데,

딕셔너리del dic1[key값]을 사용해서 삭제하면 된다. 

# 딕셔너리에 추가
dic1['age'] = 13
print(dic1)

# 딕셔너리에서 삭제
del dic1['accept']

 

# key들만 접근
print(dic1.keys())
# dict_keys(['name', 'phone', 'accept'])

# ver1. key로 모든 값 출력
for k in dic1.keys():
    print(dic1[k])

# 가나다
# 01012341234
# True
728x90

댓글