본문 바로가기
Python

파이썬의 유용한 4가지 함수

by 찐남 2022. 9. 17.

파이썬 코드를 멋지게 작성하고 싶지만,

최고의 품질을 갖추기 위해서는

다양한 함수를 알아야 합니다.

 

이러한 목적을 위해 이번 포스팅에서는

4가지 유용한 함수를 알려 드리려고 합니다.

 

코드 라인을 줄이고 루프를 제거하는 데

도움이 될 것이며 이는 코드를 작성할 때

생산성을 향상할 것이라고 확신합니다.

 

 

목차

  • n개의 가장 큰 수  얻기
  • n개의 가장 작은 수 얻기
  • 문자열의 특정 부분 제거
  • 리스트에서 중복 값을 제거하는 두 가지 방법

 

n개의 가장 큰 수 얻기

최댓값을 얻으려면

max 함수를 사용한다는 것을 알고 있습니다.

 

max([15, 21, 30, 20])
# 20

 

하지만 최대 숫자 리스트를 얻으려면

어떻게 해야 할까요?

 

파이썬에는 heapq라 불리는

"heap queue"라는 모듈이 있습니다.

 

이 모듈은 각 부모 노드가 자식 노드보다

작거나 같은 특수 트리 구조인 힙 큐 알고리즘을 사용합니다.

heapq 모듈에는 nlargest라는 메서드가 있습니다.

이 메서드는 우리가 결정한 길이가 있는

목록을 반환합니다.

 

수행 방법을 살펴보겠습니다.

 

import heapq
heap = [10, 5, 18, 1, 100]
nLargestNumbers = heapq.nlargest(3, heap)
print(nLargestNumbers)

# [100, 18, 10]

 

n개의 가장 작은 수 얻기

최솟값을 얻으려면

min 함수를 사용한다는 것을 알고 있습니다.

 

min([15, 21, 30, 20])
# 15

n개의 가장 작은 숫자 리스트를 가져와야 하고

heapq 모듈이 이를 도와줄 것입니다.

 

import heapq
heap = [10, 5, 18, 1, 100, 8, 7]
nSmallestNumbers = heapq.nsmallest(4, heap)
print(nSmallestNumbers)

# [1, 5, 7, 8]

 

문자열의 특정 부분 제거하기

"+-+-+Python"과 같은 문자열이 있고 

Python 단어만 얻고 싶으면 어떻게 할까요?

파이썬에는 이러한 작업을 해결할 수 있는

removeprefix라는 메서드가 있습니다.

 

myString = "+-+-+Python"
newString = myString.removeprefix("+-+-+")
print(newString)

# Python

 

리스트에서 중복을 제거하는 두가지 방법

아래에서 볼 수 있듯이 set을 사용하여 

중복 값을 제거하려고 시도했다는 것을 

알고 있습니다.

 

li = [10, 15, 10, 10, 5, 5]
withoutDuplicates = list(set(li))
print(withoutDuplicates)

# [10, 5, 15]

이 첫 번째 방법은 결과가 원래대로

정렬되지 않았기 때문에

두 번째 방법을 보여 드리겠습니다.

 

li = [10, 15, 10, 10, 5, 5]
withoutDuplicates = dict.fromkeys(li)
print(list(withoutDuplicates))

# [10, 15, 5]

 

결론

파이썬의 유용한 함수들은

효율적인 코드를 작성하는 데 도움이 됩니다.

 

우리는 네 가지 함수에 대해 살펴보았고,

이제 파이썬 코드를 작성하는 데 도움이 되는

heap queue와 heapq 모듈에 대해 알게 되었습니다.

간단한 포스팅에서 새로운 것을

배웠다고 생각이 드시면 좋겠습니다.

 

끝까지 읽어 주셔서 감사합니다! 

 

 

 

 

반응형

'Python' 카테고리의 다른 글

파이썬 코드의 모범 사례  (0) 2022.11.12
파이썬 클래스 변수 사용법  (2) 2022.09.30
파이썬의 10가지 유용한 팁  (0) 2022.09.05
웹 스크래핑 배우기  (0) 2022.08.06
Python에서 *args 및 **kwargs 이해하기  (0) 2022.07.31

댓글