티스토리 뷰

반응형

 

순차 탐색이란,

리스트 안에서

찾는 값이 나올 때까지

리스트의 처음과 끝을

순차적으로 탐색하는 것이다.

 

파이썬 언어로

순차 탐색을 구현해보자.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def linearSearch(aList, key):
    for i in range(len(aList)):
        if key == aList[i]:
            return i
    return -1
 
numbers = [123456789]
 
result = linearSearch(numbers, 7)
 
if result != -1:
    print("찾는 수는 ", result, "번 째에 있습니다.")
else:
    print("탐색에 실패하였습니다.")
cs

 

 

 

  - 설명  

linearSearch라는 함수에

리스트의 길이만큼 반복을 주고,

리스트의 요소가

찾는 key값과 동일하면

인덱스를 반환한다.

찾는 값이 없다면 -1을 반환한다.

 

그 리스트는 line 7

numbers 리스트이다.

 

linearSearch(numbers, 7)을 하여

7이 numbers 리스트에서

몇 번째에 있는지의 결과를

result에 저장한다.

 

result가 -1이 아닌 경우

(값을 찾은 경우)

해당하는 정수의

리스트 내 인덱스를 출력하고,

 

result가 -1인 경우

(값을 찾지 못한 경우)

탐색에 실패하였다고 출력한다.

 

 

 

  - 결과  

 

 

 

 

 

 

위의 예제는

하나의 값을 찾아

인덱스를 반환하였는데,

 

조건에 맞는 경우의 값을

모두 출력해보자.

 

 

1
2
3
4
5
6
7
8
numbers = [123456789]
result = []
 
for value in numbers:
    if value >= 5:
        result.append(value)
 
print("조건을 만족하는 항목은", result, "입니다.")
cs

 

 

 

  - 설명  

numbers의 요소를 반복하여

그 요소가 5 이상의 수이면

공백 리스트인 result

추가하는 방식이다.

아주 간단했다!

 

 

 

  - 결과  

 

반응형
댓글
반응형
Recent Post.
Recent Reply.
Thanks for comming.
오늘은
명이 방문했어요
어제는
명이 방문했어요