이전 글에서 파이썬의 자료형 중에서 상수, 변수, 문자열, Bool에 대해 알아보았습니다. 하지만 지금까지 알아본 자료형들은 하나의 자료만을 관리할 수 있었습니다. 이와는 달리 여러 자료들을 하나의 자료형으로 관리하는 방법이 있는데 그중에서 한 가지는 리스트 자료형을 이용하는 것입니다. 이번에는 이 리스트 자료형에 대해 알아보겠습니다.
파이썬 주석 처리 방법과 상수 및 변수에 대해 알아보기
1. 리스트
리스트는 대괄호를 사용합니다. 그리고 그 안에 입력되는 자료들을 쉼표로 구분합니다. 이 자료들을 요소라고 부릅니다. 리스트 사용방법은 다음과 같습니다.
리스트이름 = [ 요소1, 요소2, ..., 요소n ]
리스트에는 모든 자료형을 입력할 수 있으며 입력되는 요소들의 자료형이 동일할 필요도 없습니다.
2. 리스트 연산자
리스트는 앞에서 보았던 문자열과 같이 더하기(+)와 곱하기(*) 연산자를 사용할 수 있습니다.
더하기(+) 연산자는 두 리스트를 합쳐 하나의 리스트로 만들게 되며, 곱하기(*) 연산자는 곱한 값만큼 리스트의 요소를 반복해서 생성하여 추가하여 하나의 리스트를 만듭니다.
3. 리스트 인덱싱
리스트의 각 요소는 C#의 배열과 같이 그 순서가 있으며 각 순서에 맞게 인덱스 번호가 존재합니다. 이 인덱스 번호를 사용하여 리스트의 각 요소에 개별 접근이 가능합니다. 다음과 같이 인덱스 번호를 사용합니다.
리스트이름[i]
i는 인덱스 번호를 의미합니다. 리스트의 요소들의 인덱스 번호는 0부터 시작하여 순서대로 1씩 증가하며 매겨집니다.
여기서, 인덱스 번호를 마이너스 즉, 음수를 사용할 수 있습니다. 이럴 경우에는 요소의 맨 마지막 요소가 -1이 되고 그 앞의 요소가 -2가 됩니다.
인덱스를 이용하여 요소의 값을 변경할 수 있습니다. 그럴 경우 다음과 같이 사용합니다.
리스트이름[i] = 입력할 값
또한, 요소를 제거할 수도 있는데 이럴 경우 다음과 같이 del을 사용합니다.
del 리스트이름[i]
4. 리스트 슬라이싱
리스트 슬라이싱은 리스트의 특정한 범위를 잘라 요소 일부를 불러오는 것을 말합니다. 사용방법은 다음과 같습니다.
리스트이름[시작 인덱스 번호 : 끝 인덱스 번호]
시작 인덱스 번호는 잘라낼 범위의 시작 요소 인덱스 번호를 말하며, 끝 인덱스 번호는 잘라낼 범위의 마지막 요소 인덱스 번호를 말합니다. 리스트의 반환 값은 시작 인덱스 번호의 요소부터 끝 인덱스 번호 바로 앞의 요소까지 반환합니다.
5. 리스트 메서드
엑셀의 VBA처럼 리스트에서도 마침표를 찍고 메서드를 사용할 수 있습니다. 리스트에서 사용할 수 있는 메서드를 다음 표에 정리하였습니다.
메서드 | 설 명 |
append( ) | 리스트 끝에 요소를 추가 |
insert( ) | 리스트 특정 위치에 요소 삽입 |
extend( ) | 리스트 끝에 여러 요소들을 추가 |
remove( ) | 리스트에서 입력한 요소값의 요소를 제거 |
pop( ) | 리스트의 가장 마지막 요소를 제거 |
index( ) | 리스트의 요소중 입력한 값과 일치하는 값을 갖는 요소의 인덱스 번호 반환 |
count( ) | 입력한 값과 일치하는 요소의 갯수를 반환 |
sort( ) | 리스트의 요소들을 정렬할때 사용 |
reverse( ) | 리스트 요소들을 역순으로 정렬 |
6. 예제로 리스트 확인하기
아나콘다에서 주피터 노트북을 실행하고 New-Python3을 실행하고 다음과 같이 코드를 입력합니다.
data1 = [1, 2, 3.14, 'a', 'b', True]
data2 = [0, 10, 20]
data3 = ['Hello', 'World']
Hab = data2 + data3
Gob = data2 * 2
print(Hab)
print(Gob)
data1[5] = False
del data2[2]
print(data1)
print(data2)
print(data1[0:3])
data2.append('30')
data1.remove(1)
print(data2)
print(data1)
코드를 모두 입력하고 실행을 하면 다음과 같은 결과를 얻습니다.
[0, 10, 20, 'Hello', 'World']
[0, 10, 20, 0, 10, 20]
[1, 2, 3.14, 'a', 'b', False]
[0, 10]
[1, 2, 3.14]
[0, 10, '30']
[2, 3.14, 'a', 'b', False]
첫 번째 줄의 결과는 Hab = data2 + data3으로 리스트 data2와 data3의 요소가 합쳐진 결과이고,
두 번째 줄은 Gob = data2 * 2으로 리스트 data2의 요소가 두 번 반복하여 요소로 입력되었습니다.
세 번째 줄은 data1[5] = False의 결과로 리스트 data1의 인덱스 5번 요소에 False를 추가하였습니다.
네 번째 줄은 del data2[2]의 결과로 리스트 data2의 인덱스 2번 요소인 20을 삭제한 결과입니다.
다섯 번째 줄은 print(data1[0:3])의 결과로 data1의 인덱스 0번부터 2번까지의 요소 값을 출력합니다.
여섯 번째 줄은 data2.append('30')의 결과로 data2의 마지막 요소로 '30'이 입력되었습니다.
일곱 번째 줄은 data1.remove(1)의 결과로 data1의 값들에서 인덱스 번호 0번의 요소 값 1을 삭제하였습니다.
'엑셀 > With Python' 카테고리의 다른 글
파이썬 딕셔너리(dict)에 대해 알아보기 (0) | 2021.11.22 |
---|---|
파이썬 튜플(Tuple) & 세트(Set)에 대해 알아보기 (0) | 2021.11.22 |
파이썬 문자열과 Bool형에 대해 알아보기 (0) | 2021.11.16 |
파이썬 주석 처리 방법과 상수 및 변수에 대해 알아보기 (0) | 2021.11.16 |
아나콘다(Anaconda)의 주피터 노트북 사용하기 (1) | 2021.11.11 |