Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python – 튜플에서 최댓값·최솟값을 제외한 나머지 요소에 특정 값 할당하기


튜플에서 최댓값과 최솟값을 제외한 나머지 요소에 특정 값을 할당해야 하는 경우, max 메서드, min 메서드, tuple 메서드와 반복문을 함께 사용하면 간단하게 해결할 수 있습니다.

max 메서드는 반복 가능한(iterable) 객체가 가진 모든 요소 중 최댓값을 반환하며, min 메서드는 최솟값을 반환합니다.

tuple 메서드는 주어진 값이나 반복 가능한 객체를 튜플(tuple) 타입으로 변환하는 역할을 합니다.

아래는 이를 구현한 예시입니다.

예제 코드

my_tuple = (25, 56, 78, 91, 23, 11, 0, 99, 32, 10)
print("The tuple is : ")
print(my_tuple)
K = 5
print("K has been assigned to " + str(K))
my_result = []
for elem in my_tuple:
    if elem not in [max(my_tuple), min(my_tuple)]:
        my_result.append(K)
    else:
        my_result.append(elem)
        my_result = tuple(my_result)
print("The tuple after conversion is : " )
print(my_result)

실행 결과

The tuple is :
(25, 56, 78, 91, 23, 11, 0, 99, 32, 10)
K has been assigned to 5
The tuple after conversion is :
(5, 5, 5, 5, 5, 5, 0, 99, 5, 5)

코드 설명

  • 튜플을 정의한 뒤 콘솔에 출력합니다.
  • 교체할 값인 'K'를 정의하고 화면에 표시합니다.
  • 결과를 담을 빈 리스트를 생성합니다.
  • 반복문으로 튜플의 각 요소를 순회하면서 해당 요소가 최댓값 또는 최솟값인지 확인합니다.
  • 최댓값·최솟값이 아니라면 대신 K를 리스트에 추가하고, 그렇지 않으면 원래 요소를 그대로 추가합니다.
  • 완성된 리스트를 tuple 메서드로 튜플 타입으로 변환합니다.
  • 최종 결과를 콘솔에 출력합니다.

참고: 성능 개선 팁

위 코드는 반복문 안에서 매번 max()min()을 호출하므로, 튜플의 크기가 커질수록 불필요한 연산이 반복되어 성능이 저하될 수 있습니다. 반복문을 시작하기 전에 최댓값과 최솟값을 미리 변수에 저장해 두면 연산 횟수를 크게 줄여 더 효율적으로 처리할 수 있습니다.