Python
[Python] List, Dictionary
시우마이
2022. 12. 23. 16:02
테크잇에서 주관하는 멋쟁이사자 AI School 8기 2~4일차 내용 정리 및 복습입니다.
AI school 1주차 강의에서는 기본적인 Python list와 dictionary 문자열을 시작으로 문을 열었습니다.
리스트(List)
#리스트란?
#리스트를 이용해 변수를 지정할 수 있게, 밑과 같이 대괄호가 쓰인다.
samplelist = []
#축구 선수이름을 soccer player라는 통안에 각 개체로 보관할 수 있다.
soccerplayer = ["Cristiano Ronaldo", "Lionel Messi", "Son Heung Min"]
위와 같이 리스트는 사용자가 원하는 여러 정보를 보관할 수 있다. 문자형도 숫자형도 저장 가능하다.
내가 원하는 정보를 리스트에서 수정해야할 때는?
#리스트의 정보를 변경하려면 우선 인덱싱 개념부터 알아야 한다.
#이 리스트에서 2번째 변수를 출력하려면 어떻게 해야할까?
soccerplayer = ["Cristiano Ronaldo", "Lionel Messi", "Son Heung Min"]
#아래와 같이 숫자형으로 인덱스를 지정해야한다.
print(soccerplayer[1])
#파이썬에서는 [0] -> 첫번째 값, [1] -> 두번째 값, [-1] -> 맨 뒤의 값
#수정방법
soccerplayer[0] = "Neymar"
#리스트 값의 위치를 지정해 주고 내가 바꾸고 싶은 값으로 바꿔주기만 하면 된다.
이번에는 리스트 안에 새로운 정보를 추가해 보도록 하겠습니다.
menu = ["짜장" ,"짬뽕" ,"탕수육"]
#중국집에서 시즌 메뉴로 냉면을 추가하려고 합니다. 이때 냉면 문자열을 menu list에 추가해보겠습니다.
menu.append("냉면")
#어이쿠!메뉴에서 짬뽕이 실수로 들어갔네요! 짬뽕을 삭제해보겠습니다.
del menu[1] #참고로 리스트는 삭제시에 인덱싱을 숫자로 해줘야 합니다.
#하!지!만! 문자열로도 삭제할 수 있습니다.
menu.remove("탕수육")
리스트에서 최소값 최대값 구하기
#숫자형 리스트에서 maximum and minimum 구하기
num = [20, 40, 50, 10, 30]
#최대값
max1 = max(num)
#최소값
min1 = min(num)
print("최대값은: ", max1)
print("최소값은: ", min1)
리스트에서 평균 구하기
# 숫자형 list 평균 구하기
num = [20, 40, 50, 10, 30]
average = sum(num)/len(num)
print(average)
딕션너리(Dictionary)
Dictionary를 사용할 때는 {} 중괄호를 사용하는 것이 특징입니다.
Dictionary의 특이한 점은 바로 "key" 와 "value" 값을 같이 가지고 있는 것이 특징입니다.
#Dictionary는 중괄호 {} 사용 그리고 Key 와 Value 값을 가지고 있음
#예시
menu = {"짜장" : 4000,"짬뽕" : 5000,"탕수육" : 9000}
여기서 짜장과 같은 음식들이 Key 값 그리고 음식 가격의 value 값입니다. 딕션너리는 항상 한 쌍의 정보를 담고 있습니다.
그럼 Dictionary 안에 있는 값을 수정하기 위해서는 list와 다른 어떤 노력을 해야할까요?
#탕수육과 짜장 가격을 인상해보겠습니다.
menu = {"짜장" : 4000,"짬뽕" : 5000,"탕수육" : 9000}
menu["탕수육"] = 10000
menu["짜장"] = 6000
#위와 같이 손쉽게 문자열 key 값을 이용해서 value 값을 변경할 수 있습니다.
#이번에는 dictionary 에 있는 메뉴를 삭제하고 추가해 보겠습니다
#삭제
del menu["짜장"]
#추가
menu["냉면"] = 5000 #딕셔너리에 없는 key 값을 만들어 새로운 한 쌍의 변수를 만들 수 있습니다.
만약 딕셔너리 안에 있는 특정값을 불러오고 싶을 때는 어떻게 할까요?
menu = {"짜장" : 4000,"짬뽕" : 5000,"탕수육" : 9000}
print(menu.get("짜장"))
이런식으로 메뉴에서 짜장면의 가격을 메뉴에서 불러올 수 있습니다. 물론! 메뉴 안에 있는 음식명을 알고 있어야지 불러올 수 있겠죠.
그럼 만약 장사가 망해서 메뉴판을 다 비워야 한다면!
menu.clear() #clear 함수를 이용해서 빈 리스트를 만들 수 있습니다.
#만약 dictionary안에 개수를 세고 싶다면?
print(len(menu)) #로 알 수 있습니다.
이상 간단명료한 list 와 dictionary 였습니다.