오늘 시간에는 가장 보편적으로 사용되는 리스트(list) 자료구조에 대해 설명을 드리겠습니다.
리스트는 간단하게 항목들의 모음집이라고 생각하시면 됩니다.
1. 리스트 생성
파이썬에서 리스트는 아래 소스코드와 같이 생성할 수 있습니다. 빈 리스트를 생성할 때 []에 아무값도 넣지 않으시면 됩니다. 그리고 리스트에 들어가는 값들을 각각의 요소(element)라고 부릅니다.
리스트의 각 요소는 서로 다른 자료형(int, string 등)으로 이루어질 수 있습니다.
a = [] # 빈 리스트
b = [1,2,3,4]
c = ["a", "b", "c"]
d = [1, 2, "a", "b"]
2. 리스트의 요소 출력
리스트를 생성하였다면 그 안의 값을 출력해 볼 수도 있습니다. 아래 코드처럼 리스트 자료구조인 변수 b를 출려하면 b에 포함된 모든 요소를 출력합니다.
여기서 조심해야 할 것은 순서를 가리키는 인덱스(index) 번호입니다. 우리는 일반적으로 시작을 1로 합니다. 하지만 컴퓨터에서의 시작은 언제나 0으로부터 시작합니다.
b = [1,2,3,4]
print(b) # 리스트의 모든 요소를 출력
print(b[0]) # 첫번째 요소를 출력
print(b[3]) # 네번째 요소를 출력
print(b[-1]) # 마지막 요소를 출력
###출력 결과###
[1, 2, 3, 4]
1
4
4
또 리스트에서의 요소는 순서가 정해져 있기 때문에 문자열처럼 슬라이싱(slicing)이 가능합니다. 아래 예시 결과를 보시면 슬라이싱할 때 다음과 같은 규칙을 가지고 있습니다.
예를 들어, [0:5]라고 한다면 0 즉 첫번째 값부터 (5-1)번째 까지의 값을 출력합니다.
그리고 [5 : ]에서 끝 인덱스가 없을 경우에는 모든 값을 출력한다는 의미입니다.
b = [1,2,3,4,5,6,7,8,9,10]
print(b[0:5]) # 0~4번째까지의 값을 출력
print(b[5:]) # 5번째부터 이후의 값을 출력
print(b[2:-2]) # 2번째부터 마지막 3번째 값을 출력
###출력 결과###
[1, 2, 3, 4, 5]
[6, 7, 8, 9, 10]
[3, 4, 5, 6, 7, 8]
리스트의 값을 변경할 수 있습니다.
b = [1,2,3,4,5,6,7,8,9,10]
b[2] = 100
print(b)
###출력 결과###
[1, 2, 100, 4, 5, 6, 7, 8, 9, 10]
3. 리스트 메소드(method)
리스트 자료구조에서 자주 사용하는 메소드를 설명하겠습니다.
메소드 | 설명 |
append() | 리스트의 끝에 요소를 추가합니다. |
insert() | 명시된 인덱스 위치에 요소를 삽입합니다. |
remove() | 리스트에서 입력한 값을 찾아 제거합니다. |
pop() | 리스트의 마지막 요소를 리스트에서 제거합니다. |
index() | 특정 값이 리스트에서의 인덱스 위치를 반환합니다. |
count() | 입력한 데이터와 일치한 요소의 개수를 반환합니다. |
sort() | 리스트 내의 요소를 정렬합니다. |
append()
b = [1,2,3,4]
b.append(5)
print(b)
###출력 결과###
[1, 2, 3, 4, 5]
insert()
b = [1,2,3,4]
b.insert(0,100) # 첫번째 인자는 인덱스 번호, 두번째 인자는 삽입할 값
print(b)
###출력 결과###
[100, 1, 2, 3, 4]
remove()
b = [1,2,3,4]
b.remove(4) # 삭제할 값을 입력
print(b)
###출력 결과###
[1, 2, 3]
pop()
b = [1,2,3,4]
b.pop()
print(b)
###출력 결과###
[1, 2, 3]
index()
b = [1,2,3,4]
print(b.index(4)) # 요소의 값을 입력
print(b.index(5)) # 리스트에 5라는 요소가 없기 때문에 에러
###출력 결과###
3
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-26-fd31e41e0b25> in <module>
2 print(b.index(4))
3
----> 4 print(b.index(5))
ValueError: 5 is not in list
count()
b = [1,2,3,4,1,2,1,3,1,2]
print(b.count(1)) # 요소의 값을 입력
###출력 결과###
4
sort()
b = [1,2,3,4,1,2,1,3,1,2]
b.sort() # 오름차순으로 정렬, 인자가 없을 때 초기값은 오름차순
b
###출력 결과###
[1, 1, 1, 1, 2, 2, 2, 3, 3, 4]
b = [1,2,3,4,1,2,1,3,1,2]
b.sort(reverse = True) # 내림차순으로 정렬
b
###출력 결과###
[4, 3, 3, 2, 2, 2, 1, 1, 1, 1]
여기까지 파이썬 리스트 자료구조에 대해 알아보았습니다. 다음 시간에는 튜플(tuple) 자료구조에 대해 알아보겠습니다.
'Python 기초 > 자료형' 카테고리의 다른 글
[파이썬] 변수(variable) 설명 (0) | 2020.05.06 |
---|