파이썬 리스트 인덱스 추출 - paisseon liseuteu indegseu chuchul

이번포스팅은루프를돌릴, 인덱스값을나오게하는방법에대해서이야기를하고자합니다. 사람들은 다양한이유에서흔히들 반복문을많이사용합니다. 연속된 데이터 또는 특정 시퀀스한 데이터 컨테이너에 있는 데이터에 접근하고자 할때 반복문을 많이 사용합니다. 특히나파이썬[Python]에서는반복문을사용하기매우편합니다. 바로 "in"이용하기때문입니다. 그럼간단히다음코드를한번작성해보겠습니다.

example)

result) 

Text

Text1

Text2

Text3

Text4

cs

위의코드를실행해보니위와같은결과가나왔습니다. 물론, 결과는리스트안의모든값들을출력해줬습니다. 하지만, 값만 출력을 해줍니다. C언어 값의 경우는 for문에 range 값을 주고, 그 부분을 바탕으로 배열에 접근합니다. 그래서 인덱스(Index)값에 대해서 쉽게 확인 및 접근할 수 있습니다. 그럼 여기에서만약인덱스값을표현하고자한다면어떻게할까요? 흔히들다음과같은코드로작성을 있습니다.

example)

for v in range(0,len(List)):

print(v)

print(List[v])

cs

result) 

0

Text

1

Text1

2

Text2

3

Text3

4

Text4

cs

저 또한 처음에는 위와 같이 코드를 작성해서 원하는 값들의 순서, 즉 인덱스 값과 값을 같이 출력하고자 했습니다. 하지만 다음과 같이 enumerate함수를 이용해보도록 하겠습니다. 먼저 위에 선언한 리스트를 enumerate 함수를 적용해 보도록 하겠습니다. 

example) 

enumList = list(enumerate(List))

print(enumList)

cs

result) 

[(0'Text'), (1'Text1'), (2'Text2'), (3'Text3'), (4'Text4')]

cs

enumerate 함수를 리스트에 바로 적용하면 enumerate object라서 print문을 통해서 내용을 하기 힘들기 때문에, List로 다시 바꿔서 출력해봤습니다. 구성을 간단히 보시면, (index, value)이 형태로 구성되어 있습니다. 그럼 이를 바탕으로 위에서 작성한 코드와 동일한 결과를 만들어 보도록 하겠습니다. 

example)

for index, value in enumerate(List):

print(index)

print(value)

cs

result) 

0

Text

1

Text1

2

Text2

3

Text3

4

Text4

cs

enumerate를 하면 위에서 보시는 바와같이 (수치화 된 값, Value)로 리턴되어 받습니다. 그래서 이를 토대로 다음과 같이 index와 value로 변환 받도록 작업을 해봤습니다. 

그럼 위의 함수를 통해서 인덱스의 값이 짝수일 때만 값을 표현하도록 해보겠습니다. 

example) 

for index, value in enumerate(List):

if index % 2 == 0 :

print(str(index)+"번째 아이템 :" +value)

cs

result)

0번째 아이템 :Text

2번째 아이템 :Text2

4번째 아이템 :Text4

cs

위와 같이 나머지를 구하는 연산을 통해서 다음과 같이 한번 꾸며봤습니다. 

이번 포스팅은 반복문을 통해서 값 뿐 아니라, 인덱스(Index)값을 얻는 방법에 대해서 알아봤습니다. 반복문에 range와 len함수를 이용해서 구하는 방법과 enumerate를 이용해서 구하는 방법 이 2가지로 살펴봤습니다. 저는 enumerate 함수를 비교적 많이 좋아하는 편입니다. 그래서 자주 사용하는데, 어떤 분들은 가장 먼저 다루었던 range/len함수를 이용해서 사용하는 경우도 많습니다. 

혹시 궁금하시거나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.