인터넷

파이썬의 튜플, 딕셔너리, 집합, 불, 변수 자료형의 특징은 무엇인가요? 3강

idcjw 2025. 8. 29. 20:37
반응형

 

 



파이썬의 튜플(Tuple) 자료형은 무엇인가요?

튜플은 리스트와 유사하게 여러 값을 담을 수 있지만, 한번 생성되면 값을 변경하거나 삭제할 수 없는 고정된 자료형 입니다.

 

 

 

 

 

💡 튜플과 리스트의 주요 차이점은 무엇인가요?

  • 리스트는 대괄호([])로 묶고, 튜플은 일반 괄호(())로 묶습니다.
  • 리스트는 값을 추가, 삭제, 변경할 수 있지만, 튜플은 고정되어 변경할 수 없습니다.

 

파이썬의 핵심 자료구조(튜플, 딕셔너리, 집합)변수의 본질을 깊이 있게 이해할 수 있는 강의입니다. 단순히 문법을 나열하는 것을 넘어, 각 자료형이 왜 필요하고 어떤 상황에서 유용하게 쓰이는지 실용적인 예시와 함께 설명하여 실제 코딩에 바로 적용할 수 있는 통찰을 제공합니다. 특히, 변수가 값을 직접 담는 것이 아니라 메모리 주소를 가리킨다파이썬만의 독특한 개념을 시각적으로 명확하게 보여주어, 예상치 못한 오류를 방지하고 효율적인 코드 작성 능력을 향상시키는 데 결정적인 도움을 줄 것입니다.

 

1.지난 시간 복습: 숫자, 문자열, 리스트 자료형을 살펴본다.

 

  1. 리스트 사용 이유: 변수하나에 여러 값을 담아 관리하기 어렵기 때문에, a = [1, 2, 3]처럼 하나의 변수(서랍장)에 여러 값을 한 번에 담기 위해 리스트를 사용한다.
  2. 튜플 학습 시작: 튜플에 대한 본격적인 학습을 시작한다.

 

2.2. 튜플의 특징 및 리스트와의 차이점

  1. 생김새 유사성: 리스트튜플은 생김새가 거의 똑같다고 설명한다.
  2. 리스트는 대괄호([])로 묶여있고, 튜플은 일반 괄호(())로 묶여있다.
  3. 가장 큰 차이점: 변경 불가능성 (Immutable)
  4. 리스트: .append()를 사용하여 값을 계속 추가하거나, 인덱스를 통해 값을 변경할 수 있다.
  5. 튜플: 딱 고정되어 있어 값을 바꿀 수 없다. 자물쇠가 잠겨 있어 수정하거나 새로운 요소를 추가할 수 없다.
  6. 튜플의 고정성: 길이와 값이 모두 고정되어 있는 것이 튜플의 핵심 특징이다.

 

2.3. 튜플 실습: 변경 불가능성 확인

  1. 튜플 생성: t1 = (1, 2)와 같이 리스트와 유사하게 튜플을 생성한다.
  2. 요소 삭제 시도: 리스트에서 사용했던 del t1[0]과 같은 방식으로 튜플요소를 삭제하려 하면 오류가 발생한다.
  3. 이는 튜플이 삭제를 지원하지 않기 때문이다.
  4. 변하면 안 되는 값을 사용할 때 튜플을 사용한다.
  5. 값 변경 시도: 리스트와 달리 튜플.append()와 같은 값 추가 함수가 없으며, t1[0] = 'C'와 같이 값을 변경하려 해도 오류가 발생한다.
  6. 튜플은 고정되어 있다는 점을 다시 강조한다.

 

2.4. 튜플 실습: 변경 가능한 연산 (인덱싱, 슬라이싱, 더하기, 곱하기)

  1. 인덱싱슬라이싱: 튜플자체를 변화시키지는 않지만, 리스트와 동일하게 인덱싱슬라이싱을 통해 값을 '볼' 수 있다.
  2. t1[0]1을 반환하고, t1[0:1](1,)을 반환한다.
  3. 이러한 연산은 t1 자체를 변경하지 않는다.
  4. 더하기 연산: 튜플간의 더하기(+) 연산이 가능하다.
  5. t1 + t2t1 뒤에 t2의 요소가 추가된 새로운 튜플을 생성한다. (예: (1, 2) + (3, 4)(1, 2, 3, 4)가 된다.)
  6. 이때 t1t2는 변하지 않고, 새로운 튜플이 만들어진다.
  7. 곱하기 연산: 튜플에 곱하기(*) 연산이 가능하다.
  8. t1 <em> 3t1의 요소가 3번 반복된 새로운 튜플을 생성한다. (예: (1, 2) </em> 3(1, 2, 1, 2, 1, 2)가 된다.)
  9. 튜플의 핵심: 튜플은 항상 변하지 않는다는 점을 기억해야 한다.

 

2.5. 튜플 관련 질문 답변

  1. 변수 재정의와 값 변경의 차이: a = (1, 2)a = a <em> 3과 같이 변수를 재정의하는 것은 기존 튜플의 값을 하나씩 바꾸는 것이 아니라, a </em> 3의 결과로 생성된 새로운 튜플a라는 변수공간에 새로 담는 것을 의미한다.
  2. print(a)를 하면 a가 3번 반복된 새로운 튜플결과가 출력된다.

 

3. 파이썬 자료구조: 딕셔너리 (Dictionary)

 

3.1. 딕셔너리 개념 및 중요성

  1. 사전적 정의: 딕셔너리는 사전과 같은 개념으로, 어떤 단어(키)가 있으면 그 뜻(값)이 나오는 형태이다.
  2. 스마트폰 검색처럼 단어를 키로 하여 값을 찾는 자료구조이다.
  3. 다른 언어에서의 명칭: 루비에서는 Hash, 자바에서는 Map 또는 HashMap, 자바스크립트에서는 Object 또는 JSON형식으로 불린다.
  4. 활용성 및 중요성: 딕셔너리는 매우 많이 사용되는 중요한 자료형이다.
  5. 사물함 비유: 후원자의 성함(키)과 금액(값)을 매칭하여, 성함으로 바로 금액을 검색할 수 있는 사물함처럼 키로 값을 바로 찾을 수 있다.
  6. API 활용: JSON(JavaScript Object Notation) 형식은 딕셔너리와 같은 자료구조이며, API요청 시 서버에서 응답이 JSON형태로 많이 들어오기 때문에 딕셔너리활용법을 자세히 알아두어야 한다.
  7. 예시: 이름: '홍길동', 나이: '25', 성별: '여'와 같이 키-값 쌍으로 정보를 찾아볼 수 있다.

 

3.2. 딕셔너리 핵심 개념 및 생성

  1. 연관 배열 및 Hash: 딕셔너리는 '연관 배열' 또는 'Hash'라고도 불린다.
  2. Key-Value 쌍: Key를 통해 Value를 얻는 것이 딕셔너리의 핵심이다.
  3. dic = {'name': 'Pey', 'phone': '전화번호'}와 같이 Key와 Value로 구성된다.
  4. 딕셔너리 생성 및 값 접근:
  5. dic = {'name': 'Eric', 'age': 25}와 같이 중괄호({}) 안에 키: 값 형태로 생성한다.
  6. 리스트가 인덱스(숫자)로 접근하는 것과 달리, 딕셔너리dic['name']과 같이 키(Key)를 입력하여 해당 Value('Eric')에 접근한다.
  7. 활용 빈도: 딕셔너리는 매우 많이 사용된다.

 

3.3. 딕셔너리 요소 추가 및 삭제

  1. 딕셔너리 쌍 추가:
  2. 리스트처럼 특정 위치에 값을 넣는 방식이 아니라, 새로운 키를 할당하여 추가한다.
  3. a['name'] = '익명'과 같이 새로운 키와 밸류를 입력하면, 해당 키-밸류 쌍이 딕셔너리에 추가된다.
  4. 딕셔너리 요소 삭제:
  5. del 키워드를 사용하며, 리스트처럼 인덱스(숫자)가 아닌 키(Key)를 입력하여 삭제한다.
  6. del a[1]과 같이 키를 입력하면 해당 키-밸류 쌍이 삭제된다.
  7. 핵심: 딕셔너리는 Key와 Value로 이루어져 있다는 점이 핵심이다.

 

3.4. 딕셔너리 값 얻기 및 주의사항

  1. Key를 이용한 Value 얻기: 딕셔너리변수[키] 형태로 키를 이용하여 밸류를 얻을 수 있다.
  2. 리스트는 괄호 안에 순서를 넣지만, 딕셔너리순서가 아닌 키를 넣는 것이 핵심이다.
  3. 딕셔너리 생성 시 주의사항: 키 중복 불가:
  4. 딕셔너리는 키와 밸류로 이루어져 있으므로, 키는 중복되면 안 된다.
  5. 만약 키가 중복되면, 마지막에 입력된 키와 밸류만 남게 된다. (예: {'1': 'a', '1': 'b'}{'1': 'b'}가 된다.)
  6. 밸류는 같아도 되지만, 키는 달라야 한다. (예: {'1': 'a', '2': 'a'}는 유효하다.)
  7. 딕셔너리에서 키가 핵심이다.

 

3.5. 딕셔너리 키, 값, 아이템 추출 및 활용

  1. 리스트 만들기 (.keys()):
  2. a.keys() 함수를 사용하면 딕셔너리의 키들만 dict_keys라는 리스트와 유사한 형태로 뽑을 수 있다.
  3. 리스트 만들기 (.values()):
  4. a.values() 함수를 사용하면 딕셔너리의 값들만 dict_values라는 형태로 뽑을 수 있다.
  5. 아이템 쌍 만들기 (.items()):
  6. a.items() 함수를 사용하면 딕셔너리의 모든 키-밸류 쌍을 dict_items라는 새로운 배열 안에 튜플형태로 담을 수 있다.
  7. 반복문 (for) 활용:
  8. for k in a.keys():와 같이 keys()를 사용하여 키만 뽑아 반복문을 돌릴 수 있다.
  9. for v in a.values():와 같이 values()를 사용하여 값만 뽑아 반복문을 돌릴 수 있다.
  10. for k, v in a.items():와 같이 items()를 사용하여 키와 값을 동시에 뽑아 각각 처리할 수 있다.
  11. 이러한 기능들은 반복문을 돌면서 키와 값을 따로 처리해야 할 때 유용하게 사용된다.

 

4. 파이썬 자료구조: 집합 (Set)

 

4.1. 집합 개념 및 특징

  1. 집합 소개: 파이썬집합은 수학의 집합개념을 자료구조로 만든 것이다.
  2. 집중을 위한 채팅창 끄기: 집합학습에 집중하기 위해 채팅창을 끈다.
  3. 집합의 핵심 특징:
  4. 중복 허용 안 함: 리스트와 달리 중복된 원소를 가질 수 없다. (예: [2, 2]는 가능하지만 집합에서는 2만 남는다.)
  5. 순서 없음: 집합순서가 없으므로 인덱스(A[0])로 접근할 수 없고, 각 요소들이 독립적으로 존재한다.
  6. 파이썬만의 자료형: 집합파이썬에서만 있는 자료형으로, 집합관련 연산을 매우 편리하게 처리할 수 있다.

 

4.2. 집합 자료형 생성

  1. set() 함수 사용: s1 = set([1, 2, 3])과 같이 set() 함수에 리스트를 넣어 집합을 정의할 수 있다.
  2. 중괄호 {} 사용: s1 = {1, 2, 3}과 같이 중괄호로 직접 감싸서 집합을 정의할 수도 있다.

 

4.3. 집합의 활용 예시

  1. 데이터 중복 제거:
  2. 두 개의 집합에서 중복되는 것만 고르거나(교 집합), 중복된 것을 빼는(차 집합) 등 데이터를 다룰 때 유용하다.
  3. 가장 대표적인 활용은 리스트에서 중복된 값을 제거하는 것이다.
  4. 리스트set()으로 감싸면 중복이 제거된 집합이 되고, 이를 다시 list()로 감싸면 중복이 제거된 새로운 리스트를 얻을 수 있다.
  5. 문자열을 집합으로 변환:
  6. set('Hello')와 같이 문자열을 set()으로 감싸면 각 문자가 하나의 원소가 되어 집합으로 변환된다.
  7. 이때 중복된 문자(l)는 하나만 남고, 순서가 뒤죽박죽이 된다.
  8. 이는 집합의 ' 순서없음'과 ' 중복허용 안 함' 특징을 보여준다.

 

4.4. 집합 연산: 교집합, 합집합, 차집합

  1. 집합 (Intersection):
  2. 집합에 공통적으로 있는 원소를 찾는 연산이다.
  3. & 기호 사용: s1 & s2와 같이 & 기호 하나로 교 집합을 구할 수 있다. (예: {1,2,3,4,5,6} & {4,5,6,7,8,9}{4,5,6}을 반환)
  4. .intersection() 함수 사용: s1.intersection(s2)와 같이 함수를 사용해도 동일한 결과를 얻는다.
  5. 다른 언어에서는 복잡한 이중 반복문으로 구현해야 할 기능을 파이썬에서는 매우 간단하게 처리할 수 있다.
  6. 집합 (Union):
  7. 집합의 모든 원소를 합치는 연산으로, 중복된 원소는 한 번만 포함된다.
  8. | 기호 사용: s1 | s2와 같이 | 기호(백 슬래시 위에 있는 기호)로 합 집합을 구할 수 있다. (예: {1,2,3,4,5,6} | {4,5,6,7,8,9}{1,2,3,4,5,6,7,8,9}를 반환)
  9. .union() 함수 사용: s1.union(s2)와 같이 함수를 사용해도 동일한 결과를 얻는다.
  10. 파이썬이 다른 언어에서 어려운 기능을 쉽게 제공하는 좋은 예시이다.
  11. 집합 (Difference):
  12. 집합에서 다른 집합에 속하는 원소를 제외한 나머지를 찾는 연산이다.
  13. - 기호 사용: s1 - s2와 같이 빼기 기호로 차 집합을 구할 수 있다. (예: {1,2,3,4,5,6} - {4,5,6,7,8,9}{1,2,3}을 반환)
  14. .difference() 함수 사용: s1.difference(s2)와 같이 함수를 사용해도 동일한 결과를 얻는다.
  15. s2 - s1은 반대쪽 원소({7,8,9})를 반환한다.

 

4.5. 집합 요소 추가 및 제거

  1. 값 1개 추가하기 (.add()):
  2. 튜플과 달리 집합은 값을 추가할 수 있다.
  3. s1.add(7)과 같이 add() 함수를 사용하여 하나의 요소를 추가한다.
  4. add() 함수 자체는 결과를 리턴하지 않고, s1 변수자체가 변경된다.
  5. 여러 개 추가하기 (.update()):
  6. s1.update([7, 8, 9])와 같이 update() 함수를 사용하여 여러 요소를 한 번에 추가할 수 있다.
  7. 이때 기존에 있는 값(예: 1)을 추가하려 해도 집합의 특성상 중복은 허용되지 않으므로, 해당 값은 제외되고 나머지 값만 들어간다.
  8. 값 제거하기 (.remove()):
  9. s1.remove(1)과 같이 remove() 함수를 사용하여 특정 원소를 제거할 수 있다.

 

5. 파이썬 자료형: 불 (Boolean)

 

5.1. 불 자료형의 개념

  1. 자료형 소개: 숫자, 문자열과 비슷한 자료형으로, 참(True) 또는 거짓(False) 값을 나타낸다.
  2. 기존 자료구조와의 차이: 리스트, 튜플, 딕셔너리, 집합은 값을 담는 ' 자료구조' 형태이지만, 불은 '참/거짓'이라는 값을 나타내는 자료형이다.

 

5.2. 불 자료형의 활용 및 특징

  1. 활용처: 주로 조건문(if)이나 반복문(while)에서 조건의 참/거짓을 판단할 때 사용된다.
  2. if 문 뒤의 조건이 True이면 코드가 실행되고, False이면 실행되지 않는다.
  3. while 문 뒤의 조건이 True이면 무한 반복되고, False이면 한 번도 실행되지 않고 넘어간다.
  4. 자료형 생성:
  5. a = True와 같이 True 또는 False 값을 변수에 할당한다.
  6. 주의사항: TrueFalse는 반드시 첫 글자를 대문자로 써야 한다.
  7. type(a)를 찍어보면 class 'bool'로 출력된다.
  8. 불리언 (Boolean): 불 자료형의 정식 명칭은 ' 불리언 자료형'이며, 줄여서 '불'이라고 부른다.

 

5.3. 파이썬의 특이한 불 속성 (참/거짓 판단)

  1. 파이썬의 참/거짓 판단 규칙: 파이썬에서는 특정 자료형의 값이 '있으면' True로, '없으면' False로 간주하는 특이한 속성이 있다.
  2. 문자열 (String):
  • 값이 있는 문자열 (예: '안녕')은 True로 본다.
  • 빈 문자열 (예: '')은 False로 본다.
  1. 리스트 (List):
  • 값이 있는 리스트(예: [1, 2])는 True로 본다.
  • 리스트(예: [])는 False로 본다.
  1. 튜플 (Tuple):
  • 값이 있는 튜플(예: (1, 2))은 True로 본다.
  • 튜플(예: ())은 False로 본다.
  1. 딕셔너리 (Dictionary):
  • 값이 있는 딕셔너리(예: {'a': 1})는 True로 본다.
  • 딕셔너리(예: {})는 False로 본다.
  1. 숫자:
  • 1True로 본다.
  • 0False로 본다.
  1. None: None (아무것도 없는 값, 다른 언어의 Null)은 False로 본다.
  2. 실습을 통한 확인:
  3. if '안녕': print('안녕')을 실행하면 '안녕'이 출력된다. 이는 문자열 '안녕'if 문 내부에서 True로 간주되기 때문이다.
  4. if '': print('빈 문자열')을 실행하면 아무것도 출력되지 않는다. 이는 빈 문자열이 False로 간주되기 때문이다.
  5. while 문과 리스트의 참/거짓 속성 활용:
  6. a = [1, 2, 3, 4] 리스트가 있을 때, while a:a가 비어있지 않으면 True로 간주되어 반복문이 실행된다.
  7. a.pop()을 사용하여 리스트의 마지막 요소를 하나씩 제거하면, 리스트가 점점 비어간다.
  8. 리스트 a가 완전히 비어 []가 되면, while a:False로 간주되어 반복문이 종료된다.
  9. 만약 while True:였다면 무한 반복되었을 것이다.
  10. 이러한 특성을 이해하면 for 문 등에서 유용하게 활용할 수 있다.

 

6. 변수의 본질과 메모리 주소

 

6.1. 변수의 개념 재정의

  1. 기존 이해: a = 1a라는 변수1이라는 값을 직접 넣는 것으로 이해했었다.
  2. 내부적인 작동 방식: 실제로는 변수가 값을 직접 담는 것이 아니라, 메모리 주소를 가리킨다는 개념이다.
  3. 메모리: 컴퓨터에서 값을 실제로 저장하고 연산하는 공간이다.
  4. 메모리 주소: 메모리에는 각 저장 공간마다 고유한 주소(번지)가 있으며, 실제 값은 이 메모리 안에 들어있다.
  5. 변수의 역할: 변수는 실제 값이 아닌, 값이 저장된 메모리 주소를 가지고 있다. 변수를 불러오면 해당 주소의 값을 가져온다.

 

6.2. 변수 할당과 객체 개념

  1. 변수 할당 예시: a = 1 (int형), b = 'hello' (문자열), c = [1, 2] ( 리스트)와 같이 = 기호를 사용하여 오른쪽에 있는 값을 왼쪽에 할당한다.
  2. 객체 (Object): 파이썬에서 변수는 '객체'를 가리킨다.
  3. 객체는 자료형이라고 볼 수 있으며, 특정 함수(메서드)를 적용할 수 있는 단위이다.
  4. 예를 들어, 3int형 객체이며, a라는 변수는 이 int형 객체의 메모리 위치(주소)를 담고 있다.

 

6.3. 시각적 실습: pythontutor.com 활용

  1. pythontutor.com 소개: 파이썬코드가 어떻게 실행되고 값이 어떻게 변하는지 시각적으로 보여주는 웹사이트이다.
  2. a = 1 시각화: a = 1을 실행하면 a라는 변수가 메모리 상의 1이라는 값을 가리키는 것을 볼 수 있다.
  3. 리스트 할당 시각화: a = [1, 2, 3]을 실행하면 a리스트객체를 가리키고, 리스트객체 내부에 각 인덱스에 해당하는 값들이 들어있는 것을 볼 수 있다.
  4. 변수 복사 (b = a)의 본질:
  5. b = a를 실행하면, a가 가리키고 있는 메모리 주소b에게 넘겨준다.
  6. 즉, ab같은 리스트 객체를 바라보게 된다.
  7. 결과: a[1] = 4와 같이 a를 통해 리스트의 값을 변경하면, b를 출력했을 때도 변경된 값이 반영된다. (예: print(b)하면 [1, 4, 3]이 출력된다.)
  8. 이는 ab가 복사된 것이 아니라, 같은 객체를 공유하고 있기 때문이다.

 

6.4. 변수 복사 방식: 주소 공유 vs 값 복사

  1. id() 함수로 주소 확인: id(a)id(b)를 찍어보면 b = a의 경우 두 변수의 주소값이 동일함을 확인할 수 있다.
  2. is 연산자로 주소 비교: a is b는 두 변수가 같은 객체(같은 주소)를 가리키는지 확인하며, b = a의 경우 True를 반환한다.
  3. 값 복사 방법 1: 슬라이싱 활용:
  4. b = a[:]와 같이 슬라이싱을 사용하면, a 리스트의 처음부터 끝까지를 슬라이싱하여 새로운 리스트 객체를 생성하고, 그 새로운 리스트의 주소를 b에 할당한다.
  5. 결과: 이 경우 a를 변경해도 b는 변하지 않는다. (예: a[1] = 4print(b)하면 [1, 2, 3]이 출력된다.)
  6. id()를 찍어보면 ab의 주소값이 다름을 확인할 수 있다.
  7. 값 복사 방법 2: copy 모듈 활용:
  8. import copyb = copy.copy(a)를 사용하면, a 리스트의 값을 복사하여 새로운 객체를 생성하고 그 주소를 b에 할당한다.
  9. 시각적 확인: pythontutor.com에서 확인하면, a가 하나의 리스트를 가리키고, copy.copy(a)를 통해 ba와는 별개의 새로운 리스트를 가리키는 것을 명확히 볼 수 있다.
  10. 결과: a를 변경해도 b는 영향을 받지 않는다.
  11. 이 개념을 이해하면 '왜 복사했는데 같이 변하지?'와 같은 혼란을 해결할 수 있다.

 

7. 변수를 만드는 다양한 방법

 

7.1. 여러 변수에 동시에 할당

.
  1. 튜플을 이용한 동시 할당: a, b = 'python', 'life'와 같이 여러 변수에 여러 값을 동시에 할당할 수 있다.
  2. 이는 사실 (a, b) = ('python', 'life')와 같이 튜플을 이용한 할당과 동일하다.
  3. 괄호는 생략 가능하다.
  4. 리스트를 이용한 동시 할당: [a, b] = ['python', 'life']와 같이 리스트를 이용해서도 여러 변수에 동시에 할당할 수 있다.

 

7.2. 여러 변수에 같은 값 할당

  1. 동일 값 동시 할당: a = b = 'hello'와 같이 여러 변수에 동일한 값을 한 번에 할당할 수 있다.
  2. 이 경우 ab 모두 'hello' 값을 갖게 된다.

 

7.3. 변수 값 교환 (Swap)

  1. 일반적인 변수 값 교환 방식 (다른 언어):
  2. a = 3, b = 5일 때 ab의 값을 바꾸려면 임시 변수(tmp)를 사용해야 한다.
  3. tmp = b (b 값 저장) -> b = a (a 값을 b에 덮어씀) -> a = tmp (저장된 b 값을 a에 덮어씀) 순서로 진행된다.
  4. 파이썬의 간편한 변수 값 교환:
  5. a, b = b, a와 같이 한 줄로 변수값을 교환할 수 있다.
  6. 이는 튜플할당 방식을 이용한 것으로, 매우 직관적이고 간편하다.
  7. 이 한 줄로 ab의 값이 성공적으로 교환된다.

 

8. 요약 및 마무리

  1. 오늘 학습 내용 요약:
  2. 자료형두 번째 시간으로, 불(Boolean), 변수(Variable), 튜플(Tuple), 딕셔너리(Dictionary), 집합(Set)에 대해 학습했다.
  3. 튜플 요약:
  4. 리스트와 유사하지만, 값을 추가하거나 변경할 수 없고 고정되어 있다.
  5. 자물쇠로 잠긴 것처럼 특정 값을 삭제하거나 변경할 수 없다.
  6. 인덱싱, 슬라이싱, 더하기, 곱하기는 가능하지만, 이는 새로운 튜플을 만드는 것이며 기존 튜플은 변하지 않는다.
  7. 딕셔너리 요약:
  8. 사전과 같은 개념으로, 사물함처럼 Key를 통해 Value를 얻는 것이 핵심이다.
  9. API활용 시 JSON형식과 같이 자주 사용되며 매우 중요하다.
  10. Value 안에는 어떤 자료형이든 들어갈 수 있지만, Key는 변하면 안 되므로 문자열, 튜플, 정수 등 제한적인 자료형만 가능하다.
  11. 딕셔너리 기능 요약:
  12. Key를 이용한 Value 얻기가 가장 기본이다.
  13. 딕셔너리생성 시 Key중복되면 안 된다.
  14. keys(), values(), items() 함수를 통해 키, 값, 또는 키-값 쌍을 추출하여 반복문 등에서 활용할 수 있다.
  15. clear() 함수로 모든 요소를 지울 수 있다.
  16. get() 함수는 존재하지 않는 키에 접근할 때 오류 대신 None이나 기본값을 반환하여 유용하다.
  17. in 연산자를 사용하여 특정 Key딕셔너리에 있는지 확인할 수 있다.
  18. 집합 요약:
  19. 수학의 집합개념을 파이썬 자료형으로 구현한 것으로, 집합관련 연산을 쉽게 처리할 수 있다.
  20. 특징: 중복을 허용하지 않고, 순서가 없다.
  21. set() 함수나 중괄호 {}를 사용하여 생성한다.
  22. 집합 연산 및 기능 요약:
  23. 집합: & 기호 또는 intersection() 함수를 사용한다.
  24. 집합: | 기호 또는 union() 함수를 사용한다.
  25. 집합: - 기호 또는 difference() 함수를 사용한다.
  26. 추가: add() (1개), update() (여러 개) 함수를 사용한다.
  27. 제거: remove() 함수를 사용한다.
  28. 자료형 요약:
  29. 참(True)과 거짓(False)을 나타내는 자료형이다.
  30. 조건문이나 반복문에서 조건 판단에 사용된다.
  31. 파이썬에서는 값이 있는 문자열, 리스트등은 True로, 빈 문자열, 빈 리스트, 0, None 등은 False로 간주하는 특성이 있다.
  32. 이 특성을 기억하면 for 문 등에서 유용하게 활용할 수 있다.
  33. 변수 요약:
  34. 변수는 실제 값을 직접 담는 것이 아니라, 값이 저장된 메모리 주소를 가리킨다는 개념이 핵심이다.
  35. 변수를 복사할 때 단순히 =를 사용하면 주소를 공유하게 되어, 한 변수를 변경하면 다른 변수도 함께 변경된다는 점에 주의해야 한다.
  36. 값을 복사하려면 슬라이싱([:])이나 copy 모듈의 copy() 함수를 사용해야 한다.
  37. 여러 변수에 동시에 값을 할당하거나(a, b = 1, 2), 같은 값을 할당하거나(a = b = 1), 변수값을 한 줄로 교환하는(a, b = b, a) 등 다양한 변수할당 방법이 있다.

 

파이썬 4강 바로가기

반응형