[P] Dictionary

Go~ USA·2024년 4월 12일
0

Python

목록 보기
15/15
post-thumbnail
  • Dictionary의 이해를 위한 List의 사용 예
ages = [10, 20, 30] # 영희 철수 영수의나이

print(ages[0])                       # 영희가 출력됨
print(ages[1])                       # 철수가 출력됨
print(ages[2])                       # 영수가 출력됨
ages.append(40)                      # 3번째 위치에 추가할당
print(ages[3])                       # 민희가 출력됨
  • Dictionary의 정의방법 및 활용 예
ages = {
 	"철수" : 10,
 	"영희" : 20,
 	"영수" : 30
}
print(ages["영희"])
print(ages["철수"])
print(ages["영수"])

ages["민희"] = 40  # 민희의 나이를 추가할 때
print(ages)

데이터 여러개를 저장할때 List 또는 Dictionary를 사용한다.

  • 리스트 장점
    1) 데이터 넣을 때 편하다.
    2) 데이터를 넣으면이 키가 자동으로 정해진다
    3)데이터가 알아서들어간다

    단, 딕셔너리는 데이터를 넣을때 이 키를 직접 넣어줘야된다.

    a["영수"] = 10
    a["영수"] = 20            # 이렇게 겹칠경우에는 이건 추가가 아니고 수정이다.
  • 딕셔너리 장점
    1) 데이터를 가져올 때 편하다.

    ages["영희"]         # 내가 영희나이를 몇번쨰? 생각할 필요가 없다.
     print("철수 나이 :", ages["철수"]) # 철수나이 출력
  • 반복문 적용 시

가. dictionary 사용예

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

  • Dictionary의 항목을 삭제
del ages["철수"]

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

  • Dictionary에 포함된 데이터를 업데이트
    ※ update함수는 없는 내용은 추가하고, 있는 내용은 새로운 항목으로 변경하는 기능.
month_end_days = {"1월" : 31, "2월" : 28}
month_end_days2 = {"2월" :29, "3월" : 31}
month_end_days.update(month_end_days2)
print(month_end_days)

0개의 댓글

관련 채용 정보