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 였습니다.