복붙노트

[PYTHON] 파이썬에서 인덱스를 사용하여리스트에서 요소를 추출하는 방법은 무엇입니까?

PYTHON

파이썬에서 인덱스를 사용하여리스트에서 요소를 추출하는 방법은 무엇입니까?

파이썬에서리스트를 가지고 있고, 인덱스에서 요소를 추출하고자한다면 1, 2, 5가 새로운리스트로 들어간다. 어떻게해야 할까?

이게 내가 한 짓이야.하지만별로 만족스럽지 않아.

>>> a
[10, 11, 12, 13, 14, 15]
>>> [x[1] for x in enumerate(a) if x[0] in [1,2,5]]
[11, 12, 15]

더 좋은 방법이 있니?

일반적으로 인덱스가있는 튜플,이 튜플을 사용하여 목록에서 해당 요소를 추출하는 방법, 결국 중복을 사용하는 방법 (예 : 튜플 (1,1,2,1,5)은 [11,11,12,11 , 15])

해결법

  1. ==============================

    1.아마도 이것을 사용하십시오 :

    아마도 이것을 사용하십시오 :

    [a[i] for i in (1,2,5)]
    # [11, 12, 15]
    
  2. ==============================

    2.나는 당신이 이것을 찾고 있다고 생각합니다 :

    나는 당신이 이것을 찾고 있다고 생각합니다 :

    elements = [10, 11, 12, 13, 14, 15]
    indices = (1,1,2,1,5)
    
    result_list = [elements[i] for i in indices]    
    
  3. ==============================

    3.시험

    시험

    numbers = range(10, 16)
    indices = (1, 1, 2, 1, 5)
    
    result = [numbers[i] for i in indices]
    
  4. ==============================

    4.MATLAB, Julia에서와 같이 Numpy 직접 배열 인덱싱 사용 ...

    MATLAB, Julia에서와 같이 Numpy 직접 배열 인덱싱 사용 ...

    a = [10, 11, 12, 13, 14, 15];
    s = [1, 2, 5] ;
    
    import numpy as np
    list(np.array(a)[s])
    # [11, 12, 15]
    

    더 나은 아직, 단지 Numpy 배열로있어 라.

    a = np.array([10, 11, 12, 13, 14, 15])
    a[s]
    #array([11, 12, 15])
    
  5. ==============================

    5.확인 된 경계 :

    확인 된 경계 :

     [a[index] for index in (1,2,5,20) if 0 <= index < len(a)]
     # [11, 12, 15] 
    
  6. from https://stackoverflow.com/questions/2621674/how-to-extract-elements-from-a-list-using-indices-in-python by cc-by-sa and MIT license