Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

List

Python의 가장 기본적인 자료구조다. 각각의 원소는 연속적인 색인(index)이 할당되는데, 이 색인을 이용해서 원소에 접근할 수 있다. 첫번째 색인 값은 0이, 두번째 색인 값은 1... 이런식으로 순차적으로 증가한다.

Python은 순차적으로 원소가 저장되는 6가지 다른 종류의 자료구조를 가지고 있는데, 그 중 list와 tuple을 가장 많이 사용한다.

리스트는 아래와 같이 사용할 수 있다.
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

리스트 접근

인덱스 번호를 이용해서 접근할 수 있다.
#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];

print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

":"을 이용해서 특정 범위의 원소에 접근할 수도 있다.
list2[1:]   // [2, 3, 4, 5, 6, 7]
list2[1:5]  // [2, 3, 4, 5]

Update

대입연산자를 이용해서 하나 혹은 여러 개의 원소를 업데이트 할 수 있다.
#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];

print "Value available at index 2 : "
print list1[2];
list1[2] = 2001;
print "New value available at index 2 : "
print list1[2];
다음은 실행 결과
Value available at index 2 : 
1997
New value available at index 2 : 
2001

삭제

del 메서드를 이용하면 된다.
list1 = ['physics', 'chemistry', 1997, 2000];

print list1
del list1[2]
print list1

List 기본 연산자

String과 같이 +, * 연산자를 사용할 수 있다. 그 의미 그대로 +는 List와 List를 더해서 하나의 리스트로 만들 때, *는 원소를 반복할 때 사용한다.

Python Expression 결과 설명
len([1,2,3]) 3 list의 크기
![1,2,3] + ![4,5,6,] ![1,2,3,4,5,6] list를 더한다
!["Hi!"]*4 !["Hi!","Hi!","Hi!","Hi!"] 반복
3 in ![1,2,3] True list에 원소가 있는지
for x in ![1,2,3]: print x 1 2 3 Iteration

Indexing, Slicing, Matrixes

Indexing과 slicing 연산은 String과 비슷하게 사용할 수 있다.

리스트 값이 다음과 같을 때
L = ['spam', 'Spam', 'SPAM!']afdsasdfa
Python Expression 결과 설명
L[2] 'SPAM!' 앞에서 부터2번째 색인, 0부터 시작
L[-2] 'Spam' 뒤에서 부터3붠째 색인, -1부터 시작

List 내장 함수와 메서드들

cmp(list1, list2) list를 서로 비교한다.
len(list) 리스트의 크기(원소의 갯수
max(list) 리스트에서 가장 큰 값을 반환
min(list) 리스트에서 가장 작은 값을 반환
python list의 메서드들
list.append(obj) list에 obj을 추가한다
list.count(obj) list에 obj이 몇개나 있는지 알려준다.
list.extend(seq) list에 seq를 추가한다.
list.index(obj) obj의 색인 값을 반환한다.
list.insert(index,obj) index색인 위치에 obj를 삽입한다.
list.pop(obj=list[-1]) list의 마지막에 있는 원소를 가져온다.
list.remove(obj) list에서 obj를 제거한다.
list.reverse() list를 역순으로 재 배열한다.
list.sort(func) list를 정열한다.