아카이브/Python

[Python 자료형] 리스트 (List)

될성부른떡잎 2015. 7. 15. 11:41


[Python 자료형] 리스트 (List)


리스트 자료형

리스트 자료형은 데이터의 묶음이라고 생각하면 된다.

뒤에서 튜플, 딕셔너리, 집합에 대해서 다루게 될텐데, 모두 데이터를 묶어서 가지고 있지만 특징이나 사용방법이 다르기 때문에 각 자료형의 특징을 정확히 알고 있어야 한다.


리스트 정의

리스트는 대괄호로 묶어서 표현하며, 정수, 실수, 문자열, 리스트 등 모든 자료형이 들어갈 수 있다.

1
2
3
4
5
6
# 리스트 (List)
listNum = [1,2,3,4,5]
listStr = ['I''My''Me''Mine']
listNumStr = [1'I'30'You']
listList = [1'I', [2'You']]
listListList = [1'I', [2'You', [3'We']]]
cs


리스트 참조

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 리스트 (List)
listNum = [1,2,3,4,5]
listStr = ['I''My''Me''Mine']
listNumStr = [1'I'30'You']
listList = [1'I', [2'You']]
listListList = [1'I', [2'You', [3'We']]]
 
# 리스트 인덱스
print 'List Index'
print listNum[0]
print listNum[1]
print listNum[-1]
print listNum[-2]
print listList[2]
print listList[2][1]
print listListList[2][2][1]
 
# 리스트 슬라이싱
print 'List Slicing'
print listNum[0:2]
print listList[1:2]
print listListList[1:]
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
List Index
1
2
5
4
[2'You']
You
We
 
List Slicing
[12]
['I']
['I', [2'You', [3'We']]]
cs

리스트 변경 & 삭제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 리스트 (List)
listNum = [1,2,3,4,5]
listStr = ['I''My''Me''Mine']
listNumStr = [1'I'30'You']
listList = [1'I', [2'You']]
listListList = [1'I', [2'You', [3'We']]]
 
# 리스트 요소 변경
listNum[2= 100
print listNum
 
listNum[1:4= 'x'
print listNum
 
# 리스트 요소 삭제
listStr[1:3= []
print listStr
 
del listStr[1]
print listStr
 
# 리스트 삭제
del listStr
cs

1
2
3
4
[1210045]
[1'x'5]
['I''Mine']
['I']
cs


리스트 내장 함수

- 리스트 요소 추가 & 꺼내기 : append(x), pop()

1
2
3
4
5
6
7
8
9
10
# 리스트 선언
List = ['Can''You''Feel''My']
 
# 리스트 요소 추가
List.append('Heartbeat')
print List
 
# 리스트 요소 꺼내기
print List.pop()
print List
cs

1
2
3
['Can''You''Feel''My''Heartbeat']
Heartbeat
['Can''You''Feel''My']
cs



- 리스트 확장 : extend(x)

1
2
3
4
5
# 리스트 선언
List = [12]
 
List.extend([3,4])
print List
cs

1
[1234]
cs


- 리스트 요소 정렬 : sort(), sort(reverse=True)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 리스트 선언
ListNum = [7436812]
ListChr = ['c''b''a''d']
 
# 리스트 오름차순 정렬
ListNum.sort()
print ListNum
 
ListChr.sort()
print ListChr
 
# 리스트 내림차순 정렬
ListNum.sort(reverse=True)
print ListNum
 
ListChr.sort(reverse=True)
print ListChr
cs

1
2
3
4
[1234678]
['a''b''c''d']
[8764321]
['d''c''b''a']
cs

- 리스트 요소 뒤집기 : reverse()

1
2
3
4
5
# 리스트 선언
List = [1234678]
 
List.reverse()
print List
cs

1
[8764321]
cs


- 리스트 요소 인덱스 반환 : index(x)

1
2
3
4
# 리스트 선언
List = [1234678]
 
print List.index(3)
cs

1
2
cs

- 리스트 요소 삽입 & 삭제 : insert(idx, x), remove(x)

1
2
3
4
5
6
7
8
9
10
# 리스트 선언
List = [1245]
 
# 리스트 인덱스 2 위치에 3을 삽입
List.insert(23)
print List
 
# 리스트에서 가장 먼저 있는 2를 삭제
List.remove(2)
print List
cs

1
2
[12345]
[1345]
cs

- 리스트 요소 갯수 반환 : len, count(x)

1
2
3
4
5
6
7
8
# 리스트 선언
List = [325621]
 
# 리스트 전체 요소 갯수 반환
print len(List)
 
# 리스트 특정 요소 갯수 반환
print List.count(2)
cs

1
2
6
2
cs


정리

자료형을 학습하는 제일 좋은 방법은 많이 사용해 보는 것이다. 예제를 작성해보면서 리스트의 특징을 파악하고 본인의 생각대로 변경시켜 보는 것이 도움이 될 것이다. 내장 함수는 한번에 다 외우려 하지 말고 프로그래밍을 하면서 모르면 찾아보고 적용하는 것을 반복하다 보면 저절로 외워지게 될 것이다.