python_dictionary

ssancho·2024년 4월 12일

python

목록 보기
18/26

딕셔너리

ages = [10, 20, 30] # 영희 철수 영수의나이

print(ages[0]) # 영희
print(ages[1]) # 철수
print(ages[2]) # 영수
ages.append(40) # 3
print(ages[3]) # 민희

딕셔너리 시작

ages = {
"철수" : 10,
"영희" : 20,
"영수" : 30
}
print(ages["영희"])
print(ages["철수"])
print(ages["영수"])

ages["민희"] = 40 # 민희 나이 추가

#데이터 여러개를 저장할때

#- 리스트
#-딕셔너리

'' 리스트 장점
'' - 데이터 넣을 떄 편하다.
'' - 데이터를 넣으면이 키가 자동으로 정해진다
'' a.append(10) # 0

'' 데이터가 알아서들어간다

'' 딕셔너리는 데이터를 넣을때 이 키를 직접 넣어줘야된다.
'' a["영수"] = 10
'' 만약에
'' a["영수"] = 20 이렇게 겹칠경우에는 이건 추가가 아니고 수정이다

딕셔너리 장점

'' - 데이터를 가져올 때 편하다.

ages["영희"] # 내가 영희나이를 몇번쨰? 생각할 필요가 없다.

print("철수 나이 :", ages["철수"]) # 철수나이 출력

'' 반복출력

print("== 딕셔너리 반복1 ==") # 키값만나옴
for name in ages: # 기본적으로 딕셔너리를 순회하면 key값만 얻을수있다.
print(name)

print("== 딕셔너리 반복2 ==") # 키,벨류 둘다
for name in ages: # for문 사용 딕셔너리의 key를 순회. 반복할때 name에는 딕셔너리의 key인 철수,영희,영수가 차례대로 들어간다
age = ages[name] # 그리고 age 변수에는 ages 딕셔너리에 해당하는 이름에 벨류가 할당된다.
print("{}나이 : {}".format(name,age)) # print() 함수를 사용해서 이름과 나이를 출력한다

print(ages.keys()) #keys()는 해당 딕셔너리의 키들만의 리스트를 따로만듬

print("== 딕셔너리 반복3 ==") #이렇게하면 누구의 나이인지 모른다
for age in ages.values(): # values() 함수는 해당 딕셔너리의 벨류만 얻고 순회한다.
print("나이 : {}".format(age))

print("== 딕셔너리 반복4 ==") # 가장깔끔한 방법

for name, age in ages.items():# items를 쓰면 키와 벨류값을 같이 얻는다 그리고 name에 키값, age에 벨류값
print("{}나이 : {}".format(name,age))

#삭제
del ages["철수"]

print("== 딕셔너리 반복 철수 삭제 ==") # 철수는 나오지 않음.
for name, age in ages.items():
print("{}나이 : {}".format(name,age))

'' dictionary_name = {키: 값}

ages = {
'영희' : 10,
'철수' : 20,
'영수' : 30,
'민희' : 40
}

print(ages.keys()) # 딕셔너리 키값만 출력
print(ages.values()) # 딕셔너리 값만 출력

print(ages.items()) # 딕셔너리 키값과 실제 값 모두 출력
print(ages['영수']) # 특정 키 값의 값을 출력. 딕셔너리는 인덱스 대신 키값으로 .

print(ages.get('job', '이 값은 존재하지 않습니다')) # get() 함수로 찾는값 없을시 디폴트처리

이제 my_dictionary 딕셔너리에 키-값을 추가해보겠습니다.

my_dictionary = {}
#빈 딕셔너리에 키-값 추가하기
my_dictionary['name'] = "Boyeon Ihn"
#딕셔너리 출력하기
print(my_list)
#출력된 결과
#{'name': 'Boyeon Ihn'}
다른 새 키-값을 추가하려면 대괄호 표기법을 동일하게 사용하면 됩니다.

my_dictionary = {}
#빈 딕셔너리에 키-값 추가하기
my_dictionary['name'] = "Boyeon Ihn"
#키-값 또 추가하기
my_dictionary['age'] = 29
#딕셔너리 출력하기
print(my_dictionary)
#출력된 결과
#{'name': 'Boyeon Ihn', 'age': 29}

추가하려는 키가 해당 사전에 이미 있고 다른 값을 할당하는 경우, 기존에 있는 키의 값만 업데이트될 뿐, 새 키-값이 추가되지 않습니다.

키는 고유해야 한다는 점, 꼭 명심하시길 바랍니다.

my_dictionary = {'name': 'Boyeon Ihn', 'age': 29}
print(my_dictionary)
#'age' 키를 새로 생성하고 값을 할당하려고 시도해봅니다
#하지만 'age' 키는 이미 딕셔너리에 존재한 상황입니다.
my_dictionary['age'] = 46
#이런 경우, 존재하고 있는 'age'의 값이 29에서 46로 업데이트 될 뿐, 새 키-값이 추가되지 않습니다
print(my_dictionary)
#출력된 결과
#{'name': 'Boyeon Ihn', 'age': 29}
#{'name': 'Boyeon Ihn', 'age': 46}
실수로 이미 존재하는 키에 할당된 값을 변경하지 않으려면, 추가하려는 키가 딕셔너리에 이미 있는지 확인하는 게 좋습니다.

이전 섹션에 설명한대로 in 키워드를 이때 유용하게 사용할 수 있습니다.

my_dictionary = {'name': 'Boyeon Ihn', 'age': 29}
#'age' 키를 추가하려고 합니다. 추가하기 전에, 'age' 키가 이미 있는지 확인해봅시다.
print('age' in my_dictionary)
#출력된 결과
#True
딕셔너리의 기존 키-값 수정하기
딕셔너리의 키-값 요소를 업데이트 및 수정하는 방법은 딕셔너리에 키-값을 새로 추가하는 방법과 유사합니다.

기존 키의 값을 수정하는 경우 이전 섹션에서 본 것처럼 다음과 같은 기본 문법을 사용합니다.

dictionary_name[existing_key] = new_value
my_dictionary = {'name': 'Boyeon Ihn', 'age': 29}
my_dictionary['age'] = 46
print(my_dictionary)
#출력된 결과
#{'name': 'Boyeon Ihn', 'age': 29}
딕셔너리의 내용을 수정하려면 update() 내장 메서드를 사용해도 됩니다.

이 메서드는 딕셔너리에서 두 개 이상의 키-값을 동시에 업데이트하려는 경우 특히 유용합니다.

my_dictionary에서 name과 age 키의 값을 수정하고 새 키 occupation을 추가한다고 가정합시다.

my_dictionary = {'name': 'Boyeon Ihn', 'age': 29}
my_dictionary.update(name= 'Mike Green', age = 46, occupation = "software developer")
print(my_dictionary)
#출력된 결과
#{'name': 'Mike Green', 'age': 46, 'occupation': 'software developer'}

profile
Ssancho

0개의 댓글