Python의 data type은 종류가 아래와 같이 총 4가지가 있다.
순서 있는 데이터 타입 |
변경 가능(mutable) 데이터 타입 |
인덱싱(indexing), 슬라이싱(slicing) 리스트, 튜플, 문자열, 바이트 |
리스트, 딕셔너리, 세트 |
순서 없는 데이터 타입 |
변경 불가능(immutable) 데이터 타입 |
인덱싱(indexing) X, 슬라이싱(slicing) X 세트, 딕셔너리 |
튜플, 문자열, 바이트 |
리스트(List): 순서가 있고 변경 가능하다. 즉, 기존 데이터의 수정 및 삭제가 가능하다.
튜플(Tuple): 순서가 있고 변경 불가능하다. 즉, 기존 데이터의 수정 및 삭제가 불가능하다.
딕셔너리(Dictionary): 순서가 없고 변경 가능하다.
세트(Set): 순서가 없고 변경 가능하다.
[리스트 타입]
* 오브젝트의 리스트를 저장
* [] 또는 python 내장함수인 list() 를 이용
* 순서 있는 데이터 타입
* 변경 가능한(mutable) 데이터 타입
[리스트 객체의 멤버함수 종류]
- list.append(obj)
Appends object obj to list(obj 맨 끝의 요소에 데이터를 추가한다.)
- list.count(obj)
Returns count of how many times obj occurs in list(obj의 특정 객체의 개수를 구한다.)
- list.extend(seq)
Appends the contents of seq to list(또 다른 list type을 추가해준다.)
- list.index(obj)
Returns the lowest index in list that obj appears(obj의 index를 구한다.)
- list.insert(index, obj)
inserts object obj into list at offset index(obj의 index에 데이터를 추가해준다.)
[사용 예시]
1 2 3 | myList = [10, 3.14, True, "abc"] #list() print(myList) print(type(myList)) | cs |
[10, 3.14, True, 'abc'] <class 'list'> |
위의 예제를 통해 리스트 객체가 생성되었고 객체의 타입이 리스트임을 확인할 수 있다. 그리고 리스트는 순서 있는 데이터 타입이기 때문에 인덱싱 및 슬라이싱을 사용할 수 있다.
1 2 3 4 5 6 7 8 9 | myList = [10, 3.14, True, "abc"] #list() print(myList) print(type(myList)) print(myList[0]) print(myList[3]) print(myList[-1]) print(myList[0:3:1]) print(myList[1:3:2]) | cs |
[10, 3.14, True, 'abc'] <class 'list'> 10 abc abc [10, 3.14, True] [3.14] |
위의 예제는 인덱싱 및 슬라이싱을 사용한 출력 결과다. 리스트의 인덱스 3과 -1은 같은 “abc”를 가리킨다. 또한 슬라이싱을 사용하여 리스트의 일부분만 출력 가능하다.
1 2 3 4 | myList = [10, 20, 30, 40] myList.append(50) print(myList) | cs |
[10, 20, 30, 40, 50] |
리스트 객체 멤버 함수 중 append를 사용한 결과이다. obj 끝 요소에 50이 추가된 것을 확인할 수 있다. 이런 결과들이 가능한 이유는 리스트가 변경 가능하기 때문이다. 따라서 중간 요소 수정도 아래처럼 가능하다.
1 2 3 4 5 | myList = [10, 20, 30, 40] myList[0] = 100 myList.append(50) print(myList) | cs |
[100, 20, 30, 40, 50] |
0번째 index를 100으로 수정한 결과이다.
'언어 > Python' 카테고리의 다른 글
[Python] Python(파이썬) 시퀀스 데이터 타입 (4) - 딕셔너리(dictionary) (0) | 2020.03.26 |
---|---|
[Python] Python(파이썬) 시퀀스 데이터 타입 (3) - 튜플(tuple) (0) | 2020.03.25 |
[Python] Python(파이썬) 시퀀스 데이터 타입 (2) - 리스트(list) (0) | 2020.03.21 |
[Python] Python(파이썬) 설치 및 tool 소개 (0) | 2020.03.05 |
[Python] Python(파이썬) 특징 (0) | 2020.03.04 |