본문 바로가기

엑셀/With Python

파이썬에서 여러 자료를 하나로 묶어 관리하는 리스트에 대해 알아보기

반응형

이전 글에서 파이썬의 자료형 중에서 상수, 변수, 문자열, Bool에 대해 알아보았습니다. 하지만 지금까지 알아본 자료형들은 하나의 자료만을 관리할 수 있었습니다. 이와는 달리 여러 자료들을 하나의 자료형으로 관리하는 방법이 있는데 그중에서 한 가지는 리스트 자료형을 이용하는 것입니다. 이번에는 이 리스트 자료형에 대해 알아보겠습니다.

 

파이썬 주석 처리 방법과 상수 및 변수에 대해 알아보기

 

파이썬 주석 처리 방법과 상수 및 변수에 대해 알아보기

파이썬 기초 사항으로 주석을 입력하는 방법에 대해 알아보고 상수 및 변수 선언하는 방법과 사용법 등을 알아보겠습니다. 주피터 노트북 사용방법은 아래 링크된 이전 글을 참조하시기 바랍니

mr-johndoe.tistory.com

 

파이썬 문자열과 Bool형에 대해 알아보기

 

파이썬 문자열과 Bool형에 대해 알아보기

이전 글에서 파이썬의 상수와 변수에 대해 알아보았습니다. 이번에는 문자열과 Bool형 자료형에 대해 알아보겠습니다. 파이썬 주석 처리 방법과 상수 및 변수에 대해 알아보기 파이썬 주석 처리

mr-johndoe.tistory.com

 

 

 

 

 

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으로 리스트 data2data3의 요소가 합쳐진 결과이고,

 

두 번째 줄은 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을 삭제하였습니다.

 

반응형