Python

[입문]감잡기-데이터 구조

Bordercolli 2023. 9. 15. 17:35
728x90

※ 데이터 구조는 '선언,' '입력', '추가', '삭제', '수정', '읽기' 이 6가지만 알면 된다.

🐶  튜플

  • 선언 및 입력방법

 

※ 튜플은 삭제/ 추가/ 수정이 불가능하다. (다만 속도가 빠름)

 

 

  • 읽기

  • 함수와 튜플

  • 튜플끼리 더하는 것은 가능하다.

다른 자료형을 넣어서 더하면 이렇게 오류가 뜬다.

  • 문자열을 튜플로 만드는 것도 가능하다.

 

 

  • 복수의 수를 튜플로 만드는 것도 가능하다.

신기하다. 이건 처음해봄

  • 반복문 없이 튜플을 여러 번 출력할 수 있다.

※ 튜플은 덧셈이 가능하지만, 곱셈은 할 수 없다.

 

  • 변수의 값을 바꿀 때도 사용이 된다.

▶ 원래 방식

이처럼 임적으로 변수를 만들어서 잠시 데이터를 넣어두었다가 꺼내는 방식을 사용한다.

 튜플을 사용한 방식

 

 

🐶 딕셔너리

  • 리스트와 튜플은 변환이 가능하다.

튜플에서 리스트로 변환하면 수정, 삭제, 추가가 가능해진다.

 

  • 딕셔너리란??

※ 튜플은 삭제/ 추가/ 수정이 불가능하다. (다만 속도가 빠름)

  • 딕셔너리 입력

  • 딕셔너리 읽기

이처럼 해당 키에 대한 값을 출력하는 방식으로 읽기를 한다.

  • 딕셔너리 추가

  • 딕셔너리 삭제

  • 딕셔너리 수정

 

  • Keys, values만 출력

이처럼 키와 값을 리스트형태로 출력하는 모습을 확인할 수 있다.

 

  • 반복문을 사용하여 key와 value만 출력하기

  • 전체 key와 value들을 튜플형태로 가져오기

 

🐶집합(SET)

  • 집합 선언하기

보통 집합의 경우 {}보다는 set()로 하여 선언을 더 많이 한다.

  • 집합과 딕셔너리의 차이

딕셔너리와 중괄호인것은 비슷하지만, 중괄호 안에 데이터를 나열한다면 세트, 중괄호안에 콜론을 사이에 두고 키와 값으로 나뉜다면 딕셔너리

집합에 데이터가 하나만 있을때는 이렇게도 선언을 한다.

  • set()함수 안에 여러 데이터 삽입하기

다만 데이터가 두 개 이상 있을때는 set로 선언해서 데이터를 넣을 수 없다.
이건 가능

 

  • 집합 읽기

※ 집합에서는 인덱스 번호를 지원하지는 않는다.

이렇게로는 지원을 한다.

  • 집합으로 조건문 

 

집합으로 조건문

  • 교집합, 합집합, 차집합, 여집합

^ 기호는 '데이터1'에만 있거나, '데이터2'에만 있거나 한 데이터들을 출력해준다.

 

  • 특징

1. 다른 데이터 구조와는 달리 순서가 없음.

2. 중복이 없음

-> 중복이 없는 이 부분이 실제 프로그램이 시에 많이 활용이 된다.

ex) 프로그래밍을 하다보면 대용량 데이터 list안에 append를 하다보면 중복되는 데이터가 필연적으로 생길 수 밖에 없다.

그러면 이 중복된 데이터를 제거하고자 할 때 집합을 많이 사용한다.

이처럼 중복되는 데이터를 지우고 리스트를 출력할 수 있다.

🐶정리

<튜플>
1. 선언-> (), tuple()
2. 삭제, 추가, 수정 -> x
3. 읽기 -> 인덱스 사용   
ex) 튜플[0]
4. *, +연산자를 이용하여 튜플을 길게 만들 수 있다. 

<딕셔너리>
1. 선언-> {}, dict()
2. 삭제 -> del 변수명['키값']
3. 추가, 읽기-> 인덱스 안에 키 값 사용
ex) 딕셔너리['영국']
4. 키, 값 출력하기 -> 변수명.keys(), 변수명.values()


<집합>
1. 선언 -> {}, set()
2. 읽기-> 값 in 변수 
3. 집합에서는 인덱스 번호를 지원하지 않는다.
4. 읽기 기능을 이용하여 조건문을 사용할 수 있다.
5. boolean값을 출력한다.
6. 자동으로 소팅함!!!!!!

※ 딕셔너리와 집합의 차이점은 딕셔너리는 중괄호 안에 키와 값으로 구성되어 있지만, 집합은 중괄호 안에 여러 값들을 나열한다.
※ 다른 데이터 구조와는 달리 순서가 없음.
※ 중복을 없앤다. list(set(변수명))해서 중복없는 리스트 생성이 

 

'Python' 카테고리의 다른 글

[입문]감잡기-반복문  (0) 2023.09.11
[입문]감잡기-조건문  (0) 2023.09.08
[입문] 감잡기 - 리스트  (0) 2023.09.08
[입문] 감잡기 - 문자열  (0) 2023.09.08