목록(배열)의 n개 요소를 Python에서 가장 큰 값 또는 가장 작은 값부터 순서대로 가져오려면 n=1이고 다음 내장 함수를 사용할 수 있습니다.
max()
min()
n>1이면 목록을 정렬하거나 표준 라이브러리의 heapq 모듈을 사용하는 두 가지 방법이 있습니다.
- 최대값과 최소값 가져오기:
max()
,min()
- 최대값과 최소값의 순서로 n개의 요소를 가져옵니다.:종류
- 최대값과 최소값의 순서로 n개의 요소를 가져옵니다.:
heapq
기준 치수
검색할 요소의 수가 많으면 sorted() 또는 sort()를 사용하여 먼저 정렬하는 것이 더 효율적이고, 수가 적으면 heapq 모듈의 nargest() 및 nsmallest()가 더 효율적입니다.
최대값과 최소값의 인덱스를 얻으려면 max(), min() 및 index()를 사용하십시오.
최대값과 최소값 가져오기:max(),min()
목록의 최대 및 최소 요소를 얻으려면 내장 함수 max() 및 min()을 사용하십시오.
l = [3, 6, 7, -1, 23, -10, 18]
print(max(l))
# 23
print(min(l))
# -10
최대값과 최소값의 순서로 n개의 요소 가져오기: 정렬
목록의 n개 요소를 가장 큰 값 또는 가장 작은 값부터 순서대로 가져오려면 첫 번째 방법은 목록을 정렬(정렬)하는 것입니다.
목록을 정렬하려면 내장 함수 sorted() 또는 목록의 sort() 메서드를 사용합니다. sorted()는 새로운 정렬된 목록을 반환하고 sort()는 원래 목록을 재정렬합니다.
역으로 인수를 사용하여 오름차순/내림차순을 전환하고 위에서 원하는 수의 슬라이스를 선택하면 목록의 가장 큰 값/가장 작은 값부터 n개의 요소를 순서대로 가져올 수 있습니다.
ld = sorted(l, reverse=True)
print(ld)
# [23, 18, 7, 6, 3, -1, -10]
print(ld[:3])
# [23, 18, 7]
la = sorted(l)
print(la)
# [-10, -1, 3, 6, 7, 18, 23]
print(la[:3])
# [-10, -1, 3]
한 줄에 모두 쓸 수 있습니다.
print(sorted(l, reverse=True)[:3])
# [23, 18, 7]
print(sorted(l)[:3])
# [-10, -1, 3]
원본 목록의 순서를 변경하는 것이 마음에 들지 않으면 sort() 메서드를 사용할 수 있습니다.
print(l)
# [3, 6, 7, -1, 23, -10, 18]
l.sort(reverse=True)
print(l[:3])
# [23, 18, 7]
print(l)
# [23, 18, 7, 6, 3, -1, -10]
l.sort()
print(l[:3])
# [-10, -1, 3]
print(l)
# [-10, -1, 3, 6, 7, 18, 23]
최대값과 최소값의 순서로 n개의 요소를 가져옵니다.:heapq기준 치수
목록의 n개 요소를 가장 큰 값 또는 가장 작은 값부터 순서대로 가져오려면 heapq 모듈을 사용할 수 있습니다.
heapq 모듈에서 다음 함수를 사용합니다. 이 경우 원래 목록은 변경되지 않습니다.
nlargest()
nsmallest()
첫 번째 인수는 검색할 요소의 수이고 두 번째 인수는 대상이 될 반복 가능한(목록 등)입니다.
import heapq
l = [3, 6, 7, -1, 23, -10, 18]
print(heapq.nlargest(3, l))
# [23, 18, 7]
print(heapq.nsmallest(3, l))
# [-10, -1, 3]
print(l)
# [3, 6, 7, -1, 23, -10, 18]
처음에 썼듯이 검색할 요소의 수가 많으면 먼저 sorted() 또는 sort()로 정렬하는 것이 더 효율적이고, 숫자가 작으면 nargest()와 nsmallest()의 heapq 모듈이 더 효율적입니다.