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

Python – 리스트에서 K개의 중간 요소 추출하는 방법

리스트가 주어졌을 때 가운데를 기준으로 K개의 중간 요소를 추출해야 하는 경우가 있습니다. 파이썬에서는 이 작업을 //(정수 나눗셈) 연산자와 리스트 슬라이싱을 활용하면 간단하게 처리할 수 있습니다.

아래 예제를 통해 구체적인 구현 방법을 살펴보겠습니다.

예제 코드

my_list = [34, 56, 12, 67, 88, 99, 0, 1, 21, 11]

print("리스트는 다음과 같습니다 : ")
print(my_list)

K = 5
print("K의 값은 다음과 같습니다 : ")
print(K)

beg_indx = (len(my_list) // 2) - (K // 2)
end_indx = (len(my_list) // 2) + (K // 2)

my_result = my_list[beg_indx: end_indx + 1]

print("결과는 다음과 같습니다 : ")
print(my_result)

출력 결과

리스트는 다음과 같습니다 :
[34, 56, 12, 67, 88, 99, 0, 1, 21, 11]
K의 값은 다음과 같습니다 :
5
결과는 다음과 같습니다 :
[67, 88, 99, 0, 1]

코드 설명

  • 먼저 하나의 리스트를 정의하고, 콘솔에 출력하여 확인합니다.

  • 추출할 요소의 개수인 K 값을 정의한 뒤 화면에 표시합니다.

  • len() 함수로 리스트의 전체 길이를 구하고, // 연산자를 사용해 소수점 없이 몫만 계산합니다. 이 값이 리스트의 중심 인덱스 역할을 합니다.

  • 중심 인덱스에서 K // 2를 뺀 값을 시작 인덱스(beg_indx) 변수에 할당합니다.

  • 마찬가지로 두 값을 더한 결과를 끝 인덱스(end_indx) 변수에 할당합니다.

  • 리스트 슬라이싱 연산을 통해 시작 인덱스부터 끝 인덱스 + 1까지의 범위에 해당하는 특정 요소들에 접근합니다.

  • 슬라이싱 결과를 별도의 변수(my_result)에 저장합니다.

  • 최종 결과를 콘솔에 출력합니다.

핵심 포인트 정리

  • // 연산자는 나눗셈 결과에서 소수점을 버린 정수 몫을 반환하므로, 인덱스 계산에 적합합니다.

  • 끝 인덱스에 1을 더하는 이유는 슬라이싱이 끝 인덱스 바로 앞까지만 포함하기 때문입니다.

  • 이 방식은 K가 홀수일 때 정확히 중앙을 기준으로 대칭적인 요소들을 추출할 수 있어 유용합니다.