In Python, you can specify start and end indices when searching for a list element:
>>> 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
Is there an equivalent feature in Ruby? You can use array slices, but that seems as though it would be less efficient, because of its requiring intermediate objects.
There is not an equivalent feature in Ruby.
You can search from the start of the array and forward to the end with #index
, or search from the end of the array and go backward to the start with #rindex
. To go from one arbitrary index to another, you have to first slice the array down to the indices of interest using array slices (for example with #[]
) as the OP suggested.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With