Given a list of N numbers, use a single list comprehension to produce a new list that only contains those values that are: (a) even numbers, and (b) from elements in the original list that had even indices .

A simple solution to this problem would be as follows [x for x in list[::2] if x%2 == 0] For example, given the following list: list = [ 1 , 3 , 5 , 8 , 10 , 13 , 18 , 36 , 78 ] The list comprehension [x for x in list[::2] if x%2 == 0] will evaluate to: [10, 18, 78] The expression works by first taking the numbers that are at the even indices, and then filtering out all the odd numbers.

WA
Answered by Waseem A. Python tutor

2817 Views

See similar Python Mentoring tutors

Related Python Mentoring answers

All answers ▸

When do we use a for-loop and when a while-loop?


What is the outcome of the following code? print(2*[3,4,5])


What is the difference between using range() and a list of values?


Make a program that asks the user for a series of numbers until they either want to output the average or quit the program.


We're here to help

contact us iconContact ustelephone icon+44 (0) 203 773 6020
Facebook logoInstagram logoLinkedIn logo

MyTutor is part of the IXL family of brands:

© 2025 by IXL Learning