Python_TIL_04

Hanbin Lee·2021년 11월 18일
0

Python_TIL

목록 보기
4/10
post-thumbnail

파이썬의 자료구조인 리스트, 사전, 튜플, 세트에 대해 공부한 내용을 작성해보려 한다.

리스트

여러 데이터를 대괄호를 사용하여 하나의 변수에 묶어 관리 할 수 있다.

people1 = 10
people2 = 20
people3 = 30
subway1 = [40, 50, 60]
subway2 = [people1, people2, people3]
print(subway1) # [40, 50, 60]
print(subway2) # [10, 20, 30]

리스트 내장함수

index()

인자와 일치하는 값의 인덱스 값을 리턴한지만, 일치하는 값이 없을 경우 ValueError를 일으킨다.

subway = [40, 50, 60]
print(subway.index(50)) # 1

append()

리스트에 인자를 추가한다.

subway = [40, 50, 60]
subway.append(10) 
print(subway) # [40, 50, 60, 10]

insert()

리스트의 인덱스 위치에 원하는 값을 추가한다.
첫 번째 인자에는 인덱스 위치를,
두 번째 인자에는 추가하고자 하는 값.

subway = [40, 50, 60]
subway.insert(1, 50)
print(subway) # [40, 50, 50, 60]

pop()

리스트의 마지막 값을 삭제하고 삭제한 값을 리턴한다.

subway = [40, 50, 60]
print(subway.pop()) # 60
print(subway) # [40, 50]

count()

리스트에 중첩되지 않고 등장하는 횟수를 리턴한다.

subway = [40, 50, 60]
print(subway.count(40)) # 1

sort()

리스트를 오름차순으로 정렬한다.
reverse 키워드를 True값으로 지정하면 내림차순으로 정렬된다.

num_list = [5, 2, 4, 3, 1]
num_list.sort()
print(num_list) # [1, 2, 3, 4, 5]
num_list.sort(reverse=True)
print(num_list) # [5, 4, 3, 2, 1]

reverse()

리스트의 순서를 뒤집는다.

num_list = [5, 2, 4, 3, 1]
num_list.reverse()
print(num_list) # [1, 3, 4, 2, 5]

clear()

리스트의 내용을 초기화한다.

num_list = [5, 2, 4, 3, 1]
num_list.clear()
print(num_list) # []

extend()

다른 리스트를 추가한다.

num_list = [5,2,4,3,1]
mix_list = ["조세호", 20, True]
num_list.extend(mix_list)
print(num_list) # [5, 2, 4, 3, 1, '조세호', 20, True]

사전

사전 자료형은 Javascript의 객체처럼 {}를 사용하여 변수의 할당한다.
리스트와 다르게 사전은 KeyValue 로 이루어져있다.

cabinet = {3:"유재석", 100:"김태호"}
print(cabinet[3]) # "유재석"
print(cabinet[100]) # "김태호"

in

in 키워드를 사용하여 사전 키의 선언 여부를 boolean값으로 리턴한다.

cabinet = {3:"유재석", 100:"김태호"}
print(3 in cabinet) # True
print(5 in cabinet) # False

del

del 키워드를 사용하여 사전 키를 삭제 할 수 있다.

cabinet = {3:"유재석", 100:"김태호"}
del cabinet[3]
print(cabinet) # {100:"김태호"}

사전 내장함수

get()

사전에 해당 키의 벨류 값을 리턴한다.
또한 새로운 벨류 값을 할당 할 수 있다.

cabinet = {3:"유재석", 100:"김태호"}
print(cabinet.get(3)) # "유재석"
print(cabinet.get(5, "사용 가능")) # "사용 가능"

keys()

사전의 모든 키 값을 dict_keys 타입으로 리턴한다.

cabinet = {3:"유재석", 100:"김태호"}
print(cabinet.keys()) # dict_keys([3, 100])

values()

사전의 모든 벨류 값을 dict_values 타입으로 리턴한다.

cabinet = {3:"유재석", 100:"김태호"}
print(cabinet.values()) # dict_values(["유재석", "김태호"])

items()

사전의 모든 키 와 벨류 값을 dict_items 타입으로 리턴한다.

cabinet = {3:"유재석", 100:"김태호"}
print(cabinet.items()) # dict_items([(3, "유재석"), (100, "김태호")])

clear()

사전의 내용을 초기화한다.

cabinet = {3:"유재석", 100:"김태호"}
cabinet.clear()
print(cabinet) # {}

튜플

리스트와 같은 역할이지만 한번 선언되면 수정이 불가능한 불변 시퀀스이다.
상대적으로 속도가 빠르고 데이터를 소괄호로 묶어 할당한다.

menu = ("돈까스", "치즈까스")
print(menu[0]) # "돈까스"
print(menu[1]) # "치즈까스"

하나의 변수 말고도 여러 변수에 선언 및 할당도 가능하다. 이 때는 수정이 가능하다.

(name, age, hobby) = ("김종국", 20, "코딩")
print(name, age, hobby) # "김종국", 20, "코딩"
name = "유재석"
print(name) # "유재석"

세트

JavascriptSet 메소드와 유사하다.
중괄호를 사용하여 데이터를 묶고, 데이터가 중복되지 않는다.
세트 선언에는 두가지 방법이 있다.
중괄호를 사용하여 선언하는 방법과 set 키워드를 사용하여 선언하는 방법이 있다.
set 키워드를 사용 할 때에는 인자에 리스트나 튜플 형식으로 넣어 주어야 한다.

java = {"유재석", "김태호", "양세형"}
python = set(["유재석", "박명수"])
print(java) # {"유재석", "김태호", "양세형"}
print(python) # {"유재석", "박명수"}

집합

세트를 사용하여 집합을 표현 할 수 있다.

교집합

& 연산자 또는 세트의 내장함수인 intersection() 함수를 사용한다.

java = {"유재석", "김태호", "양세형"}
python = {"유재석", "박명수"}
print(java & python) # {"유재석"}
print(java.intersection(python)) # {"유재석"}

합집합

| 연산자 또는 union() 함수를 사용한다.

java = {"유재석", "김태호", "양세형"}
python = {"유재석", "박명수"}
print(java | python) # {"박명수", "양세형", "유재석", "김태호"}
print(java.union(python)) # {"박명수", "양세형", "유재석", "김태호"}

차집합

- 연산자 또는 difference() 함수를 사용한다.

java = {"유재석", "김태호", "양세형"}
python = {"유재석", "박명수"}
print(java - python) # {"양세형", "김태호"}
print(java.difference(python)) # {"양세형", "김태호"}

세트 내장함수

add()

세트에 해당 인자를 추가한다.

python = {"유재석", "박명수"}
python.add("김태호")
print(python) # {"박명수", "유재석", "김태호"}

remove()

세트에 해당 인자를 삭제한다.

python = {"유재석", "박명수"}
python.remove("박명수")
print(python) # {"유재석"}

자료구조 변경

list tuple set 키워드를 사용하여 변수의 타입을 변경 할 수 있다.

menu = {"커피", "우유", "주스"}
print(menu, type(menu)) # {"커피", "우유", "주스"} <class "set">

menu = list(menu)
print(menu, type(menu)) # ["커피", "우유", "주스"] <class "list">

menu = tuple(menu)
print(menu, type(menu)) # ("커피", "우유", "주스") <class "tuple">

menu = set(menu)
print(menu, type(menu)) # {"커피", "우유", "주스"} <class "set">

REFERENCE

나도코딩 유튜브
Python - 공식문서
점프투파이썬 - WikiDocs

profile
안녕하세요 백엔드 개발자 이한빈 입니다 :)

0개의 댓글