Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Python Collections (2016, retired 2019) Slices Slice Functions

Sumedha Endar
PLUS
Sumedha Endar
Courses Plus Student 1,933 Points

Need help to solve the python code challenge task 4 of 4 of slice function !

I didn't manage to get it

slices.py
def first_4(iterable):
    return iterable[:4]

def first_and_last_4(iterable):
    return iterable[:4] + iterable[-4:]

def odds(iterable):
    return iterable[1::2]

def reverse_evens(iterable):
    return iterable[-2::-2]

2 Answers

Steven Parker
Steven Parker
231,236 Points

You're close, but missing something.

Since you don't know the length of the iterable you are slicing, you can't be sure that item 2 from the right (the -2 position) has an even-numbered index.

You could possibly compute the position to start from based on the length of the iterable, or you could make a forward slice to select the right items and then re-slice that to reverse the order.

Emerson Rubio
Emerson Rubio
18,024 Points

Hello, what I did was take the iterable and slice it into a new list of just the numbers in an even index then I reversed this new list.

Steven Parker
Steven Parker
231,236 Points

Glad I could help! I knew my 2nd suggestion would be the easiest to implement.