본문 바로가기
Study/Python study

[Python(파이썬)] filter(), enumerate() - 찾고자하는 item의 index 모두 찾기

by 파크영 2021. 7. 12.

index() 

찾고자 하는 item의 index 반환

 

리스트에서 index()를 사용하면 찾고자하는 item의 index가 가장 작은 한개만 반환한다. 

>>> test = 'ABAABB'
>>> test = list(test)
>>> test.index('B')
1

 

 

 

찾고자 하는 item의 인덱스를 모두 찾아 반환하고 싶을 때 사용하는 방법은 2가지이다. 

 

filter()

# test에서 'B'의 인덱스를 모두 반환
>>> list(filter(lambda x: test[x] == 'B', range(len(test))))
[1, 4, 5]

>>> test2 = [1,2,3,4,1,1,6,2,1]

# test2에서 값이 2인 인덱스를 모두 반환
>>> list(filter(lambda x: test2[x] == 2, range(len(test2))))
[1, 7]

 

enumerate()

# test에서 'B'의 인덱스를 모두 반환
>>> [i for i, x in enumerate(test) if x == 'B']
[1, 4, 5]

# test2에서 값이 2인 인덱스를 모두 반환
>>> [i for i, x in enumerate(test2) if x == 2]
[1, 7]

댓글