"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 인덱스별로 목록의 여러 요소에 효율적으로 액세스하는 방법은 무엇입니까?

인덱스별로 목록의 여러 요소에 효율적으로 액세스하는 방법은 무엇입니까?

2024년 11월 18일에 게시됨
검색:891

How to Efficiently Access Multiple Elements from a List by Index?

색인으로 여러 목록 요소에 액세스

색인을 기반으로 목록에서 특정 요소를 선택하는 것은 프로그래밍의 일반적인 작업입니다. 이 질문에서 사용자는 미리 정의된 인덱스에서 주어진 목록의 요소를 포함하는 새 목록을 생성하는 최적의 방법을 찾습니다.

인덱스를 반복하고 각 요소에 개별적으로 액세스하는 사용자의 접근 방식은 간단한 솔루션입니다. 그러나 더 효율적이거나 간결할 수 있는 대체 접근 방식이 있습니다.

제안되는 한 가지 대안은 Operator.itemgetter 함수를 사용하는 것입니다. 이 함수는 일련의 인덱스를 인수로 사용하고 목록에 적용하여 해당 요소를 검색할 수 있는 호출 가능한 개체를 반환합니다. 예:

from operator import itemgetter 
a = [-2, 1, 5, 3, 8, 5, 6]
b = [1, 2, 5]
print(itemgetter(*b)(a))
# Result: (1, 5, 5)

또 다른 대안은 NumPy 라이브러리를 사용하는 것입니다. NumPy는 인덱스를 기반으로 요소에 액세스하는 기능을 포함하여 강력한 배열 작업을 제공합니다. 이는 a[b] 구문을 사용하여 달성할 수 있습니다:

import numpy as np
a = np.array([-2, 1, 5, 3, 8, 5, 6])
b = [1, 2, 5]
print(list(a[b]))
# Result: [1, 5, 5]

사용자의 현재 솔루션도 유효하고 합리적이라는 점은 주목할 가치가 있습니다. 다양한 방법 중 선택은 개인 취향과 해당 방법이 사용되는 특정 상황에 따라 달라집니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3