딕셔너리
아래와 같이 딕셔너리는 {} 괄호를 사용하며, key : value로 이루어져있다.
dictionary = {"key" : "value"}
값 호출하기
아래와같이 []안에 키를 입력하면 값을 호출할 수 있다.
dictionary = {"key" : "value"}
print(dictionary["key"])
# 출력 = value
키 호출하기
아래와같이 keys()라는 함수로 딕셔너리의 키를 출력할 수 있다.
dictionary = {"key" : "value"}
print(dictionary.keys())
# 출력 = dict_keys(['key'])
for 반복문을 활용하여 키와 값 출력
items()함수 : for 구문과 결합하여 키와 값을 출력할 수 있다. 딕셔너리에만 사용 가능.
dictionary = {"key1" : "value1", "key2" : "value2", "key3" : "value3" }
for key, value in dictionary.items() :
print(key, value)
# 결과key1 value1
key2 value2
key3 value3
student_scores = {
"Harry": 81,
"Ron": 78,
"Hermione": 99,
"Draco": 74,
"Neville": 62,
}
student_grades = {}
for student in student_scores :
if student_scores[student] > 90 :
student_grades[student] = "뛰어나다."
elif student_scores[student] > 80 :
student_grades[student] = "기대 이상이다."
elif student_scores[student] > 70 :
student_grades[student] = "힘내자"
else :
student_grades[student] = "할 수 있다."
print(student_grades)
# 결과
{
'Harry': '기대 이상이다.',
'Ron': '힘내자',
'Hermione': '뛰어나다.',
'Draco': '힘내자',
'Neville': '할 수 있다.'
}
Nesting
아래 예시와 같이 딕셔너리 내부에 딕셔너리, 리스트를 중첩시킬 수도 있다.
capitals = {
"Korea" : "Seoul",
"France" : "Paris",
"Germany" : "Berlin"
}
travel_log = {
"Korea" : {"cities_visited" : ["Seoul","Busan","Jeju"]},
"France" : ["Berlin", "Hamburg", "Stuttgart"]
}
from art import logo
print(logo)
print("경매 프로그램에 오신것을 환영합니다.")
bidders = {}
is_on = True
def find_highest_bidder(bidding_record) :
winner = ""
winner_bid = 0
for name in bidding_record:
if bidding_record[name] > winner_bid:
winner = name
winner_bid = bidding_record[name]
print(f"입찰자 : {winner}이 입찰가 : ${winner_bid}의 가격으로 입찰하였습니다.")
while is_on :
name = input("경매자의 이름을 말씀해주세요 \\n > ")
price = int(input("입찰가를 말씀해주세요. \\n >$ "))
bidders[name] = price
add = input("다른 경매자가 있을 경우 Yes, 없을경우 No를 입력해주세요. \\n > ")
if add == "No" :
is_on = False
find_highest_bidder(bidders)