본문 바로가기
PROGRAMMING/Python&자료구조

[점프투파이썬 정리/다운로드] 03장. 자료형(리스트/튜플/딕셔너리/불), 변수

by Hey Nary 2023. 6. 3.
728x90
반응형

Do it! 점프 투 파이썬

정리 다운로드 :

02장._파이썬_프로그래밍의_기초_자료형.pdf
0.60MB

단서 질문

  1. 숫자열 자료형?
  2. 문자열 자료형?
    [점프투파이썬 정리/다운로드] 02장. 자료형(숫자형/문자열)
  3. 리스트 자료형?
  4. 튜플 자료형?
  5. 딕셔너리 자료형?
  6. 집합 자료형?
  7. 불 자료형?변
  8. 변수?

 

핵심 필기

 

02장. 파이썬 프로그래밍의 기초, 자료형

단서 질문

  1. 숫자열 자료형?
  2. 문자열 자료형?
  3. 리스트 자료형?
  4. 튜플 자료형?
  5. 딕셔너리 자료형?
  6. 집합 자료형?
  7. 불 자료형?변
  8. 변수?

핵심 필기

  • 💡 CRUD

Create/Read/Update/Delete - 생성/조회/수정/삭제) : 자료형을 배울 때 기본적인 구조

 

02-3. 리스트 자료형

  • 요소에는 어떠한 자료형도 가능하다. 리스트도 가능하다.

(1) Create

  • 리스트명 = [요소1, 요소2, …]

(2) Read

  • 리스트 요소 수정
    • a=[1,2,3]
    • a[2]=4
    • a=[1,2,4]

(4) Delete

  • 리스트 요소 삭제
    • del 리스트명[인덱스]
      • 슬라이스로도 가능하다.
        • a=[1,2,3,4,5]
        • del a[2:]
        • a=[1,2]
    • 리스트명.remove(요소)
      • 첫번째로 나오는 요소만 삭제
    • 리스트명.pop()
      • 마지막 요소 자체를 반환하고 삭제
      • 리스트명.pop(인덱스)
        • 해당 인덱스의 요소를 반환하고 삭제

(5) 다루기

  1. 인덱싱 / 슬라이싱
  • 첫번째 요소의 자릿수는 0이다.
  • 인덱싱
    • 단일리스트 인덱싱 : a=[1,2,3]
      • a[0] → 1
      • a[0] + a[2] → 1+3=4
      • a[-1] → 3
    • 중첩리스트 인덱싱 : 뒤에 인덱싱을 연속해서 붙여준다.
      • 이중리스트 인덱싱 : a=[1,2,3,[’a’,’b’]
        • a[3]=a[-1]=[’a’,’b’]
        • a[3]에서도 첫번째를 끌어오기 : a[3][0]=’a’
      • 삼중리스트 인덱싱 : a=[1,2,3,[’a’,’b’,[’life’,’is’]]]
        • a[3][2][0]=’life’
  • 슬라이싱
    • 단일리스트 슬라이싱 : a=[1,2,3,4,5]
      • a[0:2]=[1,2]
      • a[:3]=[1,2,3] #처음부터 a[2]까지
      • a[3:]=[4,5] #a[3]부터 끝까지
    • 중첩리스트 슬라이싱 : a=[1,2,3,[’a’,’b’,’c’],4,5]
      • a[2:5]=[3,[’a’,’b’,’c’],4,5]
      • a[3][:2]=[’a’,’b’]

2. 연산하기

      • + : 리스트 2개를 순서대로 합쳐준다.
      • * : 리스트를 반복한다.

3. 리스트 관련 함수

    • len(list) : 리스트의 요소 개수를 반환한다.
    • list.sort() : 리스트를 정렬한다.
    • list.reverse() : 리스트를 역순으로 뒤집는다.
    • list.index(요소) : 리스트에서 요소 x가 처음으로 나온 위치를 반환한다.
    • list.insert(인덱스, 요소) : 해당 인덱스 위치에 요소를 추가한다.
    • list.append(요소) : 맨 마지막에 요소를 추가한다.
    • list.remove(요소) : 리스트에서 첫 번째로 나오는 x를 삭제한다.
    • list.pop(인덱스) : 해당 인덱스 위치의 요소를 삭제하고 반환한다.
    • list.count(요소) : 리스트 안에 x가 몇 개 있는지 조사하여 그 개수를 반환한다.
    • list.extend(리스트) : 리스트 뒤에 다른 리스트를 추가한다.
  • 2차원 리스트
    • a=[[1,2],[3,4],[5,6]]
    • a[0][0] : 1
    • a[0][1] : 2
    • a[2][1] : 6
  • 리스트의 할당과 복사
    • 리스트를 복사하고자 할 때, a=b와 같은 식으로 대입하면 a,b는 같은 리스트를 가리키게 된다. 이 경우, a와 b는 완전히 동일한 리스트이기 때문에 한 쪽에서 값을 변경하면 다른 쪽에서도 동일하게 변경된다.
      • 이를 방지하기 위해서는 copy() 함수를 사용하여야 한다.
        • from copy import copy #copy 모듈에서 함수를 꺼내 온다.
        • a=[1,2,3]
        • b=a.copy()
        • a[0]=0
        • print(a) → [0,2,3]
        • print(b) → [1,2,3]
      • 리스트 전체를 가리키는 [:]으로 복사해도 된다.
        • a=[1,2,3]
        • b=a[:]

 

  • 02-4. 튜플 자료형
    • 리스트는 []로 둘러싸고 튜플은 ()으로 둘러싸거나 아무것도 안 써도 된다.
    • ()으로 둘러쌀 때 안에 요소가 1개만 있으면 뒤에 콤마를 반드시 붙인다.
    • 리스트는 수정, 삭제가 가능하지만 튜플은 불가능하다.
      • 값이 항상 같아야 할 때는 튜플이 유리하다.
    (1) Create
    • 튜플명 = ()
    • 튜플명 = (요소1,)
    • 튜플명 = (요소1,요소2)
    • 튜플명 = 요소1, 요소2
    (2) 다루기
    1. 인덱싱 / 슬라이싱
    • 인덱싱
      • t1=(1,2,’a’,’b’)
      • t1[0] → 1
    • 슬라이싱
      • t1[1:] → (2,’a’,’b’)

2. 연산하기

      • : 튜플을 순서대로 합쳐 준다.
      • : X
      • : 튜플을 반복한다.
    • / : X

3. 튜플 관련 함수

    • 튜플은 수정이 불가능하기 때문에, 요소를 추가하는 함수, 삭제하는 함수는 없다.
    • 다른 함수는 리스트와 동일하다.
    함수 설명
    len(tuple) 튜플의 길이를 반환한다.
    tuple.index(요소) 튜플에서 요소가 처음으로 나온 위치를 반환한다.
    tuple.count(요소) 튜플 안에 요소가 몇 개 있는지 조사하여 그 개수를 반환한다.
  •  

02-5. 딕셔너리 자료형

  • 대응 관계를 갖는 자료형 (연관 배열, 해시)
  • 순서가 없다. 즉, 인덱싱을 지원하지 않는다.

(1) Create

  • 딕셔너리명 = {key1:value1, key2:value2, key3:value3, …}
    • key : 변하지 않는 값
      • 만약 중복의 key가 입력되면 마지막 key만 저장되고 다른 것들은 무시된다.
      • key에 리스트는 넣을 수 없다. (변할 수 있으므로)
      • key에 튜플은 넣을 수 있다. (변하지 않으므로)
      • key에 딕셔너리는 넣을 수 없다.
    • value : 아무 값
      • value에 리스트, 튜플, 아무 자료형이나 넣을 수 있다.

(2) Read

  • 딕셔너리[key] → value
  • dict.get[key] → value
  • 존재하지 않는 키(nokey)일 경우
    • 딕셔너리[nokey] → 오류
    • dict.get[nokey] → None (’거짓’이라는 의미임)
  • 찾으려는 key가 없을 경우 정해 둔 디폴트를 가져오게 할 때
    • dict.get(key,’디폴트 값’)

(3) Update

  • 추가하기
    • a = {1:’a’}
    • a[2]=’b’
    • a >>> {1:’a’, 2:’b’}
    • a[3]=[1,2,3]
    • a >>> {1:’a’, 2:’b’, 3:[1,2,3]}

(4) Delete

  • del 딕셔너리[key]
  • 딕셔너리에서는 요소값으로 인덱싱을 할 수 없다. key로만 value를 적용할 수 있다.

(5) 다루기

  1. 딕셔너리 관련 함수
  • len(dict) : 딕셔너리의 key-value 쌍의 개수를 반환한다.
  • dict.keys() : 딕셔너리의 key 값을 리스트 형태의 객체로 반환한다.
    • → dict_keys[key1,key2,…]
      • 이 객체는 리스트 고유의 함수는 이용할 수 없다.
      • 객체를 리스트로 변환하려면, list(dict.keys())
  • dict.values() : 딕셔너리의 value 값을 리스트 형태의 객체로 반환한다.
    • → dict_keys[value1,value2,…]
      • 객체를 리스트로 변환하려면, list(dict.values())
  • dict.items() : 딕셔너리의 key-value 쌍을 튜플 형태의 객체로 반환한다.
    • → dict_items([(key,value])
      • 객체를 리스트로 변환하려면, list(dict.items())
  • dict.clear() : 딕셔너리의 key-value 쌍을 지운다. 모든 요소를 삭제한다.
    • → {}
  • ‘key’ in dict : 해당 key가 딕셔너리에 있는지 조사한다. 결과는 True, False로 반환된다.

 

 

02-6. 집합 자료형

  • 중복을 허용하지 않는다.
  • 순서가 없다. 즉, 인덱싱을 지원하지 않는다.
    • 자료형의 중복을 제거하기 위한 필터 역할로도 종종 사용한다.

(1) Create

  • 집합명 = set() #빈 집합형
  • 집합명 = set([리스트])
  • 집합명 = set(문자열)

(2) Update

  • set.update(집합) : 해당 집합에 다른 집합을 더한다.

(3) Delete

  • set.remove(요소) : 해당 집합에서 요소를 삭제한다.
  • set.clear() : 해당 집합을 모두 지운다.

(4) 다루기

  1. 인덱싱
  • 인덱싱이 필요하다면 리스트나 튜플로 변환해야 한다.
    • s1=set([1,2,3])
    • 리스트로 변환하기
      • l1 = list(s1)
      • l1 → [1,2,3]
      • l1[0] = 1
    • 튜플로 변환하기
      • t1 = tuple(s1)
      • t1 → (1,2,3)
      • t1[0] = 1

2. 교집합, 합집합, 차집합 구하기

  • 교집합 : &
    • s1 & s2
    • s1.intersection(s2)
  • 합집합 : |
    • s1 | s2
    • s1.union(s2)
  • 차집합 : -
    • s1 - s2
    • s1.difference(s20

3. 집합 관련 함수

  • len(set) : 집합의 길이를 반환한다.
  • set.add(요소) : 해당 집합에 요소를 추가한다.
  • set.update(집합) : 해당 집합에 다른 집합을 더한다.
  • set.remove(요소) : 해당 집합에서 요소를 삭제한다.
  • set.clear() : 해당 집합을 모두 지운다.
  • ‘요소’ in 집합 : 해당 요소가 집합에 있는지 조사한다. 결과는 True, False로 반환된다.

 

02-7. 불 자료형

  • 참/거짓
  • 자료형의 참/거짓 구분하기
    • 값이 없는 경우 : False
    • 숫자의 경우 : 0이면 False, 아니면 True
    • 리스트, 튜플, 딕셔너리의 경우 : 길이가 0이면 False, 그렇지 않으면 True
    • 비어있는 문자열인 경우 : False, 그렇지 않으면 True
    • None : False
  • 불 자료형 관련 함수

bool(값) : 불 자료형으로 변환한다.함수 설명

 

all(리스트) 리스트의 모든 요소가 True이면 True를 반환한다.
any(리스트) 리스트의 요소 중 하나라도 True이면 True를 반환한다.
  • 불 연산

연산자 설명

x or y x와 y 둘 중에 하나만 True이면 True이다.
x and y x와 y 모두 True이어야 True이다.
not x x가 False이면 True이고, True이면 False이다.

 

02-8. 자료형의 값을 저장하는 공간, 변수

  • 변수 이름 = 변수에 저장할 값
    • 이 때 = 은 assignment 기호라고 한다.
  • 변수와 메모리
    • 변수는 객체를 가리킨다.
      • 변수를 만들 때마다 메모리 공간이 생성된다.
      • 변수는 메모리의 주소를 가리킨다.
      • 객체의 주소를 돌려주는 내장 함수 : id(객체)
    • 객체의 크기는 불변이다.
    • 똑같은 객체를 가리키는 변수가 여러 개일 수 있다.
  • 변수 만들기
    • 튜플
      • a,b=(’python’,’life’)
    • 리스트
      • [a,b]=[’python’,’life’]
    • a=b=’python’

 

핵심 요약

  • 핵심 요약 접기
    • 자료형에는 숫자형/문자열/리스트/튜플/딕셔너리/집합/불 이 있다.
    • 프로그램 자체에 내장된 이스케이프 코드, 문자열 포맷 코드, 문자열 관련 내장 함수가 있다.
728x90
반응형

댓글