복붙노트

[PYTHON] Python에서 변수를 사용하여리스트 조각 내기

PYTHON

Python에서 변수를 사용하여리스트 조각 내기

주어진 목록

a = range(10)

다음과 같은 문을 사용하여 슬라이스 할 수 있습니다.

a[1]
a[2:4]

그러나 코드의 다른 곳에 설정된 변수를 기반으로이 작업을 수행하려고합니다. 나는 첫번째 것을 위해 이것을 쉽게 할 수있다.

i = 1
a[i]

그런데 어떻게 다른 하나를 위해 이것을합니까? 목록으로 색인 생성을 시도했습니다.

i = [2, 3, 4]
a[i]

하지만 그건 효과가 없습니다. 또한 문자열을 사용하여 시도했다 :

i = "2:4"
a[i]

그러나 그것도 작동하지 않습니다.

이것이 가능한가?

해결법

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

    1.슬라이스 ()는 다음과 같습니다.

    슬라이스 ()는 다음과 같습니다.

    a = range(10)
    s = slice(2,4)
    print a[s]
    

    그것은 [2 : 4]를 사용하는 것과 같습니다.

  2. ==============================

    2.왜 단일 변수 여야합니까? 그냥 두 변수를 사용하십시오.

    왜 단일 변수 여야합니까? 그냥 두 변수를 사용하십시오.

    i, j = 2, 4
    a[i:j]
    

    정말 하나의 변수가 필요할 경우 튜플을 사용할 수 있습니다.

  3. ==============================

    3.

    >>> a=range(10)
    >>> i=[2,3,4]
    
    >>> a[i[0]:i[-1]]
    range(2, 4)
    
    >>> list(a[i[0]:i[-1]])
    [2, 3]
    
  4. ==============================

    4.아래 할당을 사용하면 표시된 슬라이스 작업과 동일한 유형의 작업을 계속 사용할 수 있지만 값에 대한 변수가 포함됩니다.

    아래 할당을 사용하면 표시된 슬라이스 작업과 동일한 유형의 작업을 계속 사용할 수 있지만 값에 대한 변수가 포함됩니다.

    a = range(10)
    i = 2
    j = 4
    

    그때

    print a[i:j]
    [2, 3]
    
  5. from https://stackoverflow.com/questions/10573485/slicing-a-list-using-a-variable-in-python by cc-by-sa and MIT license