상세 컨텐츠

본문 제목

3. 파이썬 자료형 - (3) list, tuple, Dictionary, set, boolean, 변수

Python

by evaseo 2021. 4. 25. 15:37

본문

1.    리스트(List) 자료형: 순서 有, 혼합자료형 저장, 변경가능

(1)     형식: [요소1, 요소2, …]

(2)     요소: 숫자, 문자, 리스트

(3)     빈 리스트 = [ ] = list()

(4)     인덱싱과 슬라이싱

1)       문자열과 동일하게 작업

2)       리스트 요소로 리스트를 가질 때 ex)

        인덱싱

a = [1, 2, [‘a’, ‘b’, [‘life’, ‘is’]]]
a[2][2][0] = ‘life’

        슬라이싱

a = [1, 2, 3, [‘a’, ‘b’, ‘c’], 4, 5]
a[2:5] = [3, [‘a’, ‘b’, ‘c’], 4]

a[3][ :2] = [‘a’, ‘b’]

(5)     연산

1)       문자열과 같다

2)       리스트1 + 리스트2 = [리스트1의 요소, 리스트2의 요소]

ex) [1, 2, 3] + [4, 5, 6] = [1, 2, 3, 4, 5, 6]

3)       리스트 * 숫자 = [리스트요소, 리스트요소…] 숫자만큼 반복

ex) a = [1, 2, 3]일 때 a* 3 = [1, 2, 3, 1, 2, 3, 1, 2, 3]

(6)     리스트 길이: len(리스트)

(7)     수정과 삭제: index번호를 이용하여 수정 삭제 ex) a = [1, 2, 3]

1)       수정: a[1] = 4
     a = [1,4,3]

2)       삭제: del a[1: ]
     a = [1]

     del은 모든 자료형에서 사용 가능

     리스트 삭제는 추가로 remove함수와 pop함수를 사용할 수도 있다.

(8)     함수

1)       요소 추가: 리스트.append(추가할 요소)

2)       정렬: 리스트.sort() -> 순서대로 정렬

3)       뒤집기: 리스트.reverse()

ex) a = [‘a’, ‘c’, ‘b’]일 때 a.reverse() = [‘b’, ‘c’, ‘a’]

4)       위치 반환: 리스트.index(찾고자 하는 요소)

ex) a = [‘a’, ‘c’, ‘b’]일 때 a.index(‘c’) = 1

5)       요소 삽입: 리스트.insert(삽입할 위치 index, 삽입할 요소)

ex) a = [1, 2, 3]일 때 a.insert(0, 4) => a = [4, 1, 2, 3]

6)       요소 제거: 리스트.remove(삭제할 요소) => 리스트에서 처음으로 나오는 요소 1개만을 삭제

ex) a = [1, 2, 3, 4, 5, 3]일 때, a.remove(3) => a = [1, 2, 4, 5, 3]

7)       요소 꺼내기: 리스트.pop(꺼낼 index)

        꺼낼 index를 입력하지 않으면 리스트의 맨 마지막요소를 꺼냄

        꺼낸다는 것은 삭제한다는 뜻과 같음

        요소를 삭제하고 남은 요소들을 리스트로 반환

ex) a = [1, 2, 3]일 때, a.pop() = 3 => a = [1, 2], a.pop(1) = 2 => a = [1, 3]

8)       요소 개수: 리스트.count(‘개수 셀 요소’)

ex) a = [1, 2, 3, 1, 1]일 때, a.count(1) = 3

9)       리스트 확장: 리스트1.extend(리스트2) = [리스트1의 요소들, 리스트2의 요소들] = 리스트1 + 리스트2

 

2.    튜플(Tuple) 자료형: 순서 有, 변경불가

(1)     형식: (요소1, 요소2,…) 또는 괄호 없이 요소1, 요소2, ….

(2)     빈 튜플 ()

(3)     요소 1개인 튜플 형식: (요소1, )

1)       반드시 마지막에 콤마 붙여야 함.

2)       (요소1) = 정수형이나 문자열로 취급됨.

(4)     연산

1)       튜플 더하기

2)       튜플 곱하기

(5)     튜플 길이: len(튜플)

(6)     인덱싱, 슬라이싱 가능

(7)     요소 개수 count 함수 사용 가능

(8)     튜플을 수정하고 싶으면 리스트로 변환 후 변경 가능

ex) imsi = list(tuple)

 

3.    딕셔너리(Dictionary) 자료형: 순서 無

(1)     대응 관계를 나타내는 자료형

(2)     연관배열, 해시(Hash)

(3)     key - value형식

(4)     형식: {key1:value1, key2:value2,…} / dict(key1=value1, key2=value2,…)

(5)     쌍 추가, 삭제 ex) a = {1:’a’, 2:’b’}

1)       추가: a[‘name’] = ‘pey’ => a = {1:’a’, 2:’b’, ‘name’:’pey’}
     a[3] = [1, 2, 3] => a = {1:’a’, 2:’b’, ‘name’:’pey’, 3: [1, 2, 3]}

2)       삭제: del a[1] => a = {2:’b’} : key1keyvalue가 모두 삭제됨

(6)     변수에 딕셔너리를 대입해서 변수명[key] = keyvalue 를 찾을 수 있다.

get함수를 이용해서도 value값 얻을 수 있다.

(7)     key의 조건

1)       중복금지

2)       변경금지 => 리스트는 안되고 튜플은 key로 사용 가능한 이유

(8)     함수

1)       key 추출: 딕셔너리 변수명.keys() => dict_keys([key])

2)       value 추출: 딕셔너리 변수명.values() => dict_values([value])

3)       key – value쌍 얻기: 딕셔너리 변수명.items() => dict_items([(key1, value1), (key2,value2),…])

4)       key:value쌍 모두 지우기: 딕셔너리 변수명.clear()

5)       keyvalue 얻기: 딕셔너리 변수명.get(key, [디폴트 값])

        찾고자 하는 key가 값을 때 정해 둔 디폴트 값으로 반환가능

        key값이 없을 때 변수명[key]는 오류를 발생시키고 get(key)None을 반환한다.

6)       해당 key가 딕셔너리 안에 있는지 확인: key in 딕셔너리 변수명 => true/false로 반환

 

4.    집합(set) 자료형: 중복불가, 순서 無, 변경불가, 추가가능

(1)     형식: {요소1, 요소2,…} / set(요소들)

ex) set(“Hello”) = {‘e’, ‘H’, ‘l’, ‘o’}

(2)     교집합, 합집합, 차집합

1)       교집합

        집합1 & 집합2

        집합1.intersection(집합2)

2)       합집합

        집합1 | 집합2

        집합1.union(집합2)

3)       차집합: 앞에 집합에 뒤에 집합과 공통되는 요소 빼고 남은 집합

        집합1 – 집합2

        집합1.difference(집합2)

(3)     함수

1)       1개 추가: 집합 변수명.add(추가할 값)

2)       값 복수 개 추가: 집합 변수명.update(추가할 값들의 리스트|튜플|집합형)

3)       값 제거

        remove(제거할 값)

        discard(제거할 값)

        둘의 차이는 제거할 값이 없을 때 remove는 오류를 발생시키고, discard는 그냥 지나감

4)       전체 제거: clear()

 

5.    불린(Boolean) 자료형

(1)     거짓: bool(False),bool(0),bool(''), bool(0.0),bool(None),bool([]),bool({}),bool(set())

(2)     : bool(True), bool(1), bool(-12), bool(1.5), bool('kbs')

 

6.    변수

(1)     형식: 변수 이름 = 변수에 저장할 값

(2)     변수에 저장할 값이 heap에 생성되고 변수명이 stack에 생성되면 heap에 생성된 리스트의 주소를 변수가 참조하는 구조


(3)     변수는 객체의 주소를 저장

(4)     주소확인 방법

1)       함수 id(변수명|객체) = 주소반환

2)       변수명1 is 변수명2 = true/false반환, 주소가 같은지 확인

(5)     자료형 복사방법

1)       같은 값 같은 주소:  = 을 사용

2)       같은 값 다른 주소

        변수명2 = 변수명1[ : ] : 변수명1을 변수명2에 복사

        변수명2 = copy(변수명1): 변수명1을 변수명2에 복사

 

 

'Python' 카테고리의 다른 글

5. 함수  (0) 2021.04.25
4. 제어문 - if, while, for  (0) 2021.04.25
3. 파이썬 자료형 - (2) 문자열  (0) 2021.03.04
3. 파이썬 자료형 - (1) 숫자형  (0) 2021.03.04
2. 파이썬 개요  (0) 2021.03.04

관련글 더보기