티스토리 뷰
반응형
순차 탐색이란,
리스트 안에서
찾는 값이 나올 때까지
리스트의 처음과 끝을
순차적으로 탐색하는 것이다.
파이썬 언어로
순차 탐색을 구현해보자.
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 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
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 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
result = []
for value in numbers:
if value >= 5:
result.append(value)
print("조건을 만족하는 항목은", result, "입니다.")
|
cs |
- 설명
numbers의 요소를 반복하여
그 요소가 5 이상의 수이면
공백 리스트인 result에
추가하는 방식이다.
아주 간단했다!
- 결과
반응형
'Programming Language > Python basic' 카테고리의 다른 글
[Python] 연락처 관리 프로그램 (친구 리스트 관리) (0) | 2021.04.02 |
---|---|
[Python] 선택 정렬 알고리즘을 대체하는 제자리 정렬 구현 (in-place sort) (0) | 2021.04.02 |
[Python] 리스트 함축 (List Comprehension) (0) | 2021.04.02 |
[Python] 리스트의 얕은 복사(swallow copy)와 깊은 복사(deep copy) (0) | 2021.04.01 |
[Python] 리스트의 요소와 인덱스 찾기, 리스트 정렬하기 (0) | 2021.04.01 |
댓글
반응형
Recent Post.
Recent Reply.
- Thanks for comming.
- 오늘은
- 명이 방문했어요
- 어제는
- 명이 방문했어요