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 trialLuis Miguel Hernandez
4,266 PointsI test in my local enviroment and works!
Help!
def first_4(listas):
return listas[:4]
def first_and_last_4(numbers):
first = first_4(numbers)
last = numbers[-4:]
return first + last
def odds(numbers):
return numbers[1::2]
def reverse_evens(numbers):
return numbers[::-2]
2 Answers
Steven Parker
231,269 PointsYou must have been testing only with lists having an odd number of elements. As you noticed, it works with those. But otherwise it will return "reverse odds" instead.
To always return reverse evens, you'll need to compute the starting position based on the list size, or extract the even indexes first and then reverse them in a separate step.
andhika pratikto
995 Pointsdef first_4(iterable):
return iterable[:4]
def first_and_last_4(iterable):
return first_4(iterable) + iterable[-4:]
def odds(iterable):
return iterable[1::2]
def reverse_evens(iterable):
return iterable[::2][::-1]```
Luis Miguel Hernandez
4,266 PointsLuis Miguel Hernandez
4,266 PointsCan you explain me with code? This is new for me.
Steven Parker
231,269 PointsSteven Parker
231,269 PointsWell, if you use the 2nd method, you can get just the even indexes using a slice with a step of 2, then reverse that using one with a step of -1:
numbers[::2][::-1]
Luis Miguel Hernandez
4,266 PointsLuis Miguel Hernandez
4,266 PointsPerfect!!!!!! Thank you!