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 = [103.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 = [103.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 = [10203040]
 
myList.append(50)
print(myList)
cs

[10, 20, 30, 40, 50] 

리스트 객체 멤버 함수 중 append를 사용한 결과이다. obj 끝 요소에 50이 추가된 것을 확인할 수 있다. 이런 결과들이 가능한 이유는 리스트가 변경 가능하기 때문이다. 따라서 중간 요소 수정도 아래처럼 가능하다.

1
2
3
4
5
myList = [10203040]
myList[0= 100
 
myList.append(50)
print(myList)
cs

 [100, 20, 30, 40, 50]

0번째 index를 100으로 수정한 결과이다.

 


+ Recent posts