오늘은 배열의 정렬과 탐색에 대해서 알아봅시다!!
정렬: 배열안에 들어있는 원소들을 정해진 기준, 규칙에 따라서 나열
1. sorted(L)
2. L.sort()
L2 = sorted(L, reverse=True)
L.sort(reverse=True)
# 문자열의 길이 순 정렬
# 길이가 같은 경우, 앞에 나온 문자를 앞에 정렬
sorted(L, key=lambda x:len(x))
# 정렬- 키를 지정하는 또 다른 예 (딕셔너리)
L = [{'name':'john', 'score':83},
{'name': 'Paul', 'score': 92}]
L.sort(key=lambda x:x['name']) # 레코드들을 이름 순서대로 정렬
L.sort(key=lambda x:x['score'], reverse=True) # 레코드들을 점수 높은 순으로 정렬
def linear_search(L, x):
i = 0
while i < len(L) and L[i] != x:
i += 1
if i < len(L):
return i
else:
return -1
lower = 0
upper = len(L) - 1
idx = -1
while lower <= upper:
middle = (lower + upper) // 2
if L[middle] == targer:
...
elif L[midle] < targer:
lower = ...
else:
upper = ...