2014-07-18 2 views
1

그래서 파이썬에서 어디에서 끝 인덱스를 생략하여 배열 끝까지 인덱스 할 수 있습니다. 파이썬은 0으로 인덱싱됩니다.배열 끝 부분에 편리하게 인덱싱

In [1]: x = range(10) 

In [2]: x 
Out[2]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

In [3]: x[4:] 
Out[3]: [4, 5, 6, 7, 8, 9] 

In [4]: x[-6:] 
Out[4]: [4, 5, 6, 7, 8, 9] 

In [5]: x[-1] 
Out[5]: 9 

또한 음수 인덱스는 배열의 끝에서부터 시작됩니다. R에서는 지금까지 다음과 같은 일을해야한다는 것을 알게되었습니다 :

등등. 어떤 길이의 구문 해석 설탕이 있습니까 (x)? (아마도 MATLAB에서 사용하는 end과 같은 것일 수도 있습니다.)

답변

2

인덱싱 대신 tail 함수를 사용할 수 있습니다.

다음은 벡터 x의 마지막 6 개 요소가 반환됩니다. 6은 tail (및 아래에 표시된 head)의 기본 반환 길이이며 두 번째 인수는이를 변경합니다. 따라서 예를 들어 tail(x, 5)이라고 쓰면 마지막 5 개의 요소가 반환됩니다.

> x <- 0:9 
> tail(x) 
# [1] 4 5 6 7 8 9 
> tail(x, 5) 
# [1] 5 6 7 8 9 

마찬가지로 동일한 방식으로 동작 처음 몇 요소를보기위한 head 기능이있다.

> head(x) 
# [1] 0 1 2 3 4 5 
> head(x, 5) 
# [1] 0 1 2 3 4 
0

논리 색인화는 한 가지 방법입니다. 언급 한 바와 같이 (머리 또는 꼬리의 두 번째 인수를 보여주지는 않음) :

> x <- 1:10 
> head(x,-3) 
[1] 1 2 3 4 5 6 7 
> tail(x,-3) 
[1] 4 5 6 7 8 9 10 
> x[x>=4] 
[1] 4 5 6 7 8 9 10 

음수 및 양수 색인 혼합은 허용되지 않습니다.

관련 문제