Programming Language/Python 기본문법

[Python] 기본 문법(3): 자료구조 - 리스트, 딕셔너리

lxvxxu 2024. 7. 16. 20:50

https://thebook.io/080357/0133/

 

코딩 자율학습 나도코딩의 파이썬 입문: 5장 자료구조

더북(TheBook): (주)도서출판 길벗에서 제공하는 IT 도서 열람 서비스입니다.

thebook.io

 


리스트(list)

형식
리스트명 = [값1, 값2, . . .]

 

빈 리스트 생성도 ㄱㄴ

아무 값 없는 빈 리스트를 만들고 나중에 값을 추가하고 싶을 때

list = []

 

인덱스로 해당 위치에 있는 값을 확인할 수도 있고

해당 위치에 있는 값을 통해 해당 위치 Index 값을 확인할 수도 있다.

print(mylist.index("두번째칸"))

 

 

 

리스트명.함수()

 

 

 

No. 함수 내용
1 append(추가할 값)  
2 insert(index값, 삽입할 값) index값에 삽입하고 원래 들어있던 값과 그 뒤의 값들은 모두 한 칸씩 민다.
3 pop() ★ 값 반환 O
삭제할 값을 반환하고 삭제
4 clear() 모든 값을 삭제
5 count(카운트할 값) ★ 값 반환 O
6 sort() 오름차순 정렬
정렬하면서 리스트 자체의 값을 변경함
my_list.sort() 와 같이 사용
7 sort(reverse=True) 내림차순 정렬
8 reverse() 순서 뒤집기
9 sorted() 원본 리스트의 변경 없이 정렬된 리스트를 새로 생성한다.
new_list = sorted(my_list) 와 같이 사용
10 리스트1.extend(리스트2) 리스트1 뒤에 리스트2를 합친다.
11 index() ★ 값 반환 O
리스트 내 특정 데이터의 위치 반환

 


딕셔너리(dictionary)

key와 value 한 쌍으로 이루어져 있다.

형식
딕셔너리명 = {key1: value1, key1: value2 ,. . .}

※ key는 중복을 허용하지 않으므로 유일한 값으로 설정한다.

 

key에는 정수형뿐만 아니라 문자열도 넣을 수 있다.

cabinet = {"A-3": "푸", "B-100": "피글렛"}
print(cabinet["A-3"])

 

key에 해당하는 값이 有 => 값 변경 (key 유지, 기존 value => 새로운 value)

key에 해당하는 값이 武 => 값 추가 (key, value 한 쌍으로 된 값을 새로 추가)

cabinet["A-3"] = "티거"

 

 

빈 리스트 생성도 ㄱㄴ

아무 값 없는 빈 리스트를 만들고 나중에 값을 추가하고 싶을 때

empty_dict = {} # 빈 딕셔너리 생성하기
 

대괄호로 딕셔너리의 특정 key에 해당하는 value 받아오기

print(cabinet[key])
 
print(cabinet[3])	# key 3에 해당하는 value
print(cabinet[100])	# key 100에 해당하는 value
 

※ 대괄호를 사용할 때 만약에 정의되지 않은 key를 전달한다면 오류가 발생하고 프로그램을 바로 종료한다.

 

get() 함수

get() 함수로 key에 접근하면 key에 해당하는 value를 가져온다.

이 때 key에 해당하는 value가 없으면 오류가 발생하는 대신 뒤에 있는 기본값 None을 반환한다.

print(cabinet.get(key, dafault=None)
print(cabinet.get(3)) # key 3에 해당하는 value
print(cabinet.get(3, "사용 가능")

 

 

in 연산자

in 연산자를 사용하면 자료구조에 해당 key가 있을 때 True를, 없을 때 False를 return.

print(3 in cabinet)
print(5 in cabinet)

 

 

del 키워드

del 키워드를 사용해 key에 해당하는 값을 삭제할 수 있다.

del cabinet["A-3"]

 

※ 키워드(keyword)란?
파이썬에서 사용이 예약된 문자열로 다른 용도로는 사용할 수 없다.
연산자 and, or , not // True, false // if, for, while 모두 키워드임.

 

clear()

값 전체 삭제

cabinet.clear()

 

전체 출력 함수

keys()

딕셔너리에 있는 key만 확인하고 싶을 때 사용하는 함수 

print(cabinet.keys())
출력 형태
dict_keys(['B-100', 'C-20'])

 

values()

딕셔너리에 있는 value만 확인하고 싶을 때 사용하는 함수 

 

print(cabinet.values())
출력 형태
dict_values(['피글렛', '이요르'])

 

items()

key와 value 둘 다 출력

print(cabinet.items())
출력 형태
dict_items([('B-100', '피글렛'), ('C-20', '이요르')])

 

 

No. 함수 내용
1 get() ★ 값 반환 O
key에 해당하는 value 반환
2 keys() ★ 값 반환 O
모든 key 반환
3 values() ★ 값 반환 O
모든 value 반환
4 items() ★ 값 반환 O
모든 key, value 반환
5 clear() 딕셔너리의 모든 데이터 삭제