리스트에서 첫 번째 짝수 요소와 마지막 짝수 요소 사이의 거리를 구해야 하는 경우, 인덱싱을 사용해 리스트 요소에 접근한 뒤 두 위치의 차이를 계산하면 됩니다. 이때 리스트 컴프리헨션(list comprehension)을 활용하면 짝수 요소들의 인덱스를 간결하게 추출할 수 있습니다.
예제
아래는 위 방법을 구현한 예제 코드입니다.
my_list = [2, 3, 6, 4, 6, 2, 9, 1, 14, 11]
print("The list is :")
print(my_list)
my_indices_list = [idx for idx in range(
len(my_list)) if my_list[idx] % 2 == 0]
my_result = my_indices_list[-1] - my_indices_list[0]
print("The result is :")
print(my_result)
출력 결과
The list is : [2, 3, 6, 4, 6, 2, 9, 1, 14, 11] The result is : 8
코드 설명
정수 요소로 이루어진 리스트를 정의하고, 콘솔에 출력합니다.
리스트 컴프리헨션을 사용해 리스트를 순회하면서 각 요소가 2로 나누어 떨어지는지(즉, 짝수인지) 확인합니다.
조건을 만족하는 요소의 인덱스 값만 별도의 리스트 변수(
my_indices_list)에 저장합니다.저장된 인덱스 리스트에서 마지막 요소(
[-1])와 첫 번째 요소([0])를 인덱싱하여 서로의 차이를 계산합니다.계산된 거리 값을 변수(
my_result)에 할당합니다.결과 변수를 콘솔에 출력합니다.
참고 사항
위 예제에서 첫 번째 짝수는 인덱스 0의 값 2, 마지막 짝수는 인덱스 8의 값 14이므로, 두 위치의 차이인 8이 결과로 출력됩니다. 만약 리스트에 짝수 요소가 하나도 없다면 my_indices_list가 빈 리스트가 되어 인덱스 오류(IndexError)가 발생할 수 있으므로, 실제 코드에서는 빈 리스트 여부를 먼저 검사하는 것이 안전합니다.