파이썬 리스트 인덱스 모두 찾기 - paisseon liseuteu indegseu modu chajgi

- 순서 -

1.find / index 공통적인 내용

2.find / index 차이점


1. find( ), index( ) 공통적인 내용

1-1) 두 함수의 동일한 사용방법

'변수. find(찾을 문자)' / '변수. index(찾을 문자)'형태로 두 함수 모두 괄호( ) 안에 문자를 넣어 사용한다. 그러면 변수에 위치한 문자열 중 괄호( ) 안에 넣은 특정 문자가 처음 위치한 자리의 값을 찾을 수 있다. 

문자열의 위치는 숫자로 출력되고 0부터 시작한다.

사용 예시

# 문자 'x'가 첫번째 위치한 자리를 출력
>>> 'oxoxoxoxox'.find('x'))  # find 함수
1 
>>> 'oxoxoxoxox'.index('x'))  # index 함수
1

# 문자 'o'가 첫번째 위치한 자리를 출력
>>> a = 'hello'
>>> a.find('o'))  # find 함수
4
>>> a.index('o'))  # index 함수
4

1-2) 시작점, 종료점을 지정

(sub [, start [, end]]) 형태로 문자를 찾는 시작점과 종료점을 지정할 수 있다.

괄호 안에 (찾을 문자열, 시작점, 종료점) 순서로 입력할 수 있다. 종료지점 없이 시작점만 지정할 때는 (찾은 문자열, 시작점) 형태로 사용한다. 즉, 문자열 뒤에 숫자가 1개이면 시작점, 숫자가 2개이면 시작점과 종료점을 나타낸다. 숫자가 1개인 경우 시작점을 나타내기 때문에 종료점만 지정하는 방법으로는 사용할 수 없다. 

사용 예시

# 문자열중 2번째 위치부터 처음 'x'가 위치한 자리
>>> 'oxoxoxoxox'.index('x', 2)
3

# a변수에서 1번째~3번째 사이에 문자 'o'가 위치한 자리
>>> a = 'hello'
>>> a.find('o', 1, 3)
-1	
# find함수는 찾는 값이 없을 때 -1을 출력한다.

위 사용 예시에서 찾는 값이 없는 경우 find 함수는 -1을 출력했다. 찾는 값이 없는 경우의 출력 결과가 다른 것이 find와 index 함수의 차이점이다. 두 함수의 차이점은 아래에서 계속 설명한다.

2. find( ), index( ) 차이점

2-1) find( )

찾는 문자가 없는 경우에 -1을 출력한다.

문자열을 찾을 수 있는 변수는 문자열만 사용이 가능하다.  리스트, 튜플, 딕셔너리 자료형에서는 find 함수를 사용할 수 없다. 만일 사용하게 되면 AttributeError 에러가 발생한다.

2-2) index( )

찾는 문자가 없는 경우에 ValueError 에러가 발생한다.

문자열, 리스트, 튜플 자료형에서 사용 가능하고 딕셔너리 자료형에는 사용할 수 없어 AttributeError 에러가 발생한다.

파이썬 python list 값 요소 찾기

python list에서 원하는 값(요소)를 찾는 방법에 대해 알아보겠습니다.
list안의 값을 찾는 법은 여러 방법으로 구현할 수 있습니다.
각각의 방법에 대해 비교해보시고 상황에 맞게 적용하시기 바랍니다.

list[index]

list의 값의 index번호를 알고 있으면 index값을 적용하여 값을 가져올 수 있습니다.

list = ['apple', 'melon', 'grape', 'kiwi'] found = list[1] print(found) # print: melon found = list[1] print(found) # print: kiwi


in operator

in 연산자를 이용하여 list에 찾는 값이 존재하는지 확인할 수 있습니다.

list = ['apple', 'melon', 'grape', 'kiwi'] if 'apple' in list: print(True) # print: True list = ['apple', 'melon', 'grape', 'kiwi'] if 'Apple' not in list: print(True) # print: True

NOTE: 찾고자 하는 값이 문자나 문자열일 경우 대소문자를 구분합니다.


list.index

list에서 찾고자 하는 값고 정확히 일치하는 첫번째 값의 index 값을 반환합니다.
존재하는 모든 값의 index를 구하려면 다른 방법으로 구해야합니다.

Syntax: list.index(element)

  • element: list에서 찾고자 하는 값

list = ['apple', 'melon', 'grape', 'kiwi'] found = list.index('melon') print(found) # print: 1 list = ['apple', 'apple', 'melon', 'grape', 'kiwi', 'apple'] found = list.index('apple') print(found) # print: 0 found = list.index('banana') print(found) # print: ValueError: 'banana' is not in list

NOTE: 찾고자 하는 값이 문자나 문자열일 경우 대소문자를 구분합니다.
값이 존재하지 않으면 ValueError를 반환합니다.


list.count

list에서 찾고자 하는 값의 갯수를 반환합니다.
찾고자 하는 값이 존재하지 않으면 0을 반환합니다.

Syntax: list.count(value)

  • value: list에서 찾고자 하는 값

list = ['apple', 'melon', 'grape', 'kiwi'] count = list.count('apple') print(count) # print: 1 list = ['apple', 'apple', 'melon', 'grape', 'kiwi', 'apple'] count = list.count('apple') print(count) # print: 3 count = list.count('banana') print(count) # print: 0 list = ['apple', ['apple', 'melon'], 'grape', 'kiwi', 'apple'] count = list.count(['apple', 'melon']) print(count) # print: 1

INFO: parameter는 string, number, list등의 찾고자 하는 타입을 입력할 수 있습니다.

[Python] - 파이썬 python list to string 리스트를 문자열로 변경

[Python] - 파이썬 python 문자열 찾기

[Python] - 파이썬 python string, array, tuple length 길이

[Python] - 파이썬 python 문자열 공백 제거 / 삭제