자료구조

리스트

리스트는 여러가지 값을 저장할 수 있다. 대괄호[]로 묶어 표현한다.

</br>

number = [10, 20, 30]
subway = ["유재석", "조세호", "하하"]


index

subway.index("조세호") = 1

append & insert

append와 insert를 통해 리스트 안에 값을 추가할 수 있다. insert는 원하는 위치를 지정하여 값을 추가할 수 있다.

subway.append("박명수") = ["유재석", "조세호", "하하", "박명수"]
subway.insert(1, "정형돈") = ["유재석", "정형돈", "조세호", "하하", "박명수"]

pop

pop 함수를 통해 뒤에서 부터 값을 제거할 수 있다.

subway = ["유재석", "조세호", "하하"]
subway.pop() = ["유재석", "조세호"]

count

리스트 안의 값의 개수를 확인 할 수 있다.

subway = ["유재석", "조세호", "하하", "유재석"]
subway.count("유재석") = 2

sort, reverse, clear

정렬, 역정렬, 모두 삭제 를 할 수 있다.

num_list = [2, 1, 3, 5, 4]
num_list.sort() = [1, 2, 3, 4, 5]
num_list.reverse() = [5, 4, 3, 2, 1]
num_list.clear() = []

리스트 확장 extend

num_list.extend(subway) = [2, 1, 3, 5, 4, "유재석", "조세호", "하하", "유재석"]

사전(dictionary)

: 키와 값으로 이루어진 자료구조 이다. 중괄호로 표현하며, {키: 값, 키: 값} 형태로 이루어진다.

cabinet = {3: "유재석", 100: "김태호"}

[], get

[키] 나 get 함수를 통해 key의 존재여부를 확인할 수 있다.

cabinet[3] = "유재석"
cabinet.get(3) = "유재석"

[키]에 존재하지 않는 키 값을 대입하면 에러를 반환하고, get함수는 none을 출력한다. 또한, none이 나오는 대신 다른 값을 지정하여 출력할 수 있다.

cabinet[4] = error
cabinet.get(4) = none
cabinet.get(4, "키 없음") = "키 없음"

‘key’ in ‘list’

in 함수를 통해 key가 있는지 확인할 수 있다.

3 in cabinet = true
5 in cabinet = false

추가, 삭제, 전체삭제

추가
cabinet["a-1"] = "김종국"
cabinet["s-2"] = "조세호"

cabinet = {3: "유재석", 100: "김태호", "a-1": "김종국", "s-2":"조세호"}

삭제
del cabinet["a-1"] = {3: "유재석", 100: "김태호", s-2":"조세호"}

전체삭제
cabinet.clear() = {}

keys() values() items()

키, 값, 쌍 을 출력할 수 있다.

cabinet = {3: "유재석", 100: "김태호"}

cabinet.key() = dict_keys([3, 100])
cabinet.values() = dict_values(["유재석", "김태호"])
cabinet.items() = dict_items([(3, "유재석"), (100, "김태호")])



튜플

tuple은 list와 다르게 값을 추가하거나 변경할 수 없다. 튜플은 소괄호()로 표시한다.

menu = ("돈가스", "치즈가스")
menu[0] = "돈가스"

menu.add("생선가스") X 불가

set(집합)

set은 순서없이 무작위로 출력되며, 중복된 값이 없다. set은 중괄호{}로 표현한다.

my_set = {1, 2, 3, 4, 4} = {1, 2, 3, 4}

java = {"유재석", "김태호"}
python = {"유재석", "양세형", "조세호"}

교집합 (intersection)

자바와 파이썬 둘 다 할 수 있는 개발자를 선택한다. & 연산자나 intersection 함수를 사용한다.

java & python
java.intersection(python)

합집합(union)

자바나 파이썬 중 하나라도 할 수 있는 개발자를 선택한다. | 연산자나 union 함수를 사용한다.

java | python
java.union(python)

차집합(difference)

자바만 할 수 있는 개발자를 선택한다.

  • 연산자나 difference 함수를 사용한다.
java - python
java.difference(python)

추가, 삭제

추가
java.add("양세형")
java = {"유재석", "김태호", "양세형"}

java.remove("김태호")
java = {"유재석", "양세형"}

자료구조 변경

type() 함수를 통해 자료구조를 확인할 수 있다.

menu = {"커피", "우유"}

type(menu) = set

변경하고 싶은 자료구조로 감싸면 자료구조가 변경된다.

list(menu)
type(menu) = list

tuple(menu)
type(menu) = tuple

태그:

카테고리:

업데이트:

댓글남기기