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))
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'}