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

risto beatty
risto beatty
848 Points

Code works in workspaces but not in challenge task

Can you tell me what I'm doing wrong here? I've tried this in Workspaces with countless strings and lists and it successfully returns a reversed list with even indexes.

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

def first_and_last_4(item):
    first = item[:4]
    last = item[-4:]
    return first + last

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

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

1 Answer

Steven Parker
Steven Parker
231,007 Points

This code will return reverse evens in half of the cases, but for the other half of the cases (based on the length of the list) it will return reversed odd indexes instead.

To always return even indexes, you can use one of two different strategies:

  • compute the starting position based on the length of the list
  • use a slice to take the even indexes first, and then another slice to reverse them