2013-07-16 12 views
7

w Pythonie, można określić początek i koniec indeksy podczas wyszukiwania elementu listy:Szukaj element Array rozpoczynającego się w danym indeksie

>>> l = ['a', 'b', 'a'] 
>>> l.index('a') 
0 
>>> l.index('a', 1) # begin at index 1 
2 
>>> l.index('a', 1, 3) # begin at index 1 and stop before index 3 
2 
>>> l.index('a', 1, 2) # begin at index 1 and stop before index 2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: 'a' is not in list 

Czy istnieje odpowiednik funkcji w Ruby? Możesz używać wycinków tablicowych, ale wydaje się, że byłoby to mniej wydajne ze względu na wymagające obiekty pośrednie.

Odpowiedz

1

Nie jest odpowiednikiem funkcji w Ruby.

Możesz wyszukiwać od początku tablicy i przesuwać ją do końca za pomocą #index lub przeszukać od końca tablicy i przejść od początku do początku za pomocą #rindex. Aby przejść od jednego arbitralnego indeksu do drugiego, musisz najpierw wyciąć tablicę w dół do interesujących indeksów za pomocą wycinków tablic (na przykład z #[]) zgodnie z sugestią OP.

0

to wypróbować

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

arr[1,3].include? 2 
=> true 
arr[1,3].include? 1 
=> false 
Powiązane problemy