A community for students. Sign up today!
Here's the question you clicked on:
 0 viewing
 2 years ago
Has anyone tried the first list comprehension optional exercise? I'm getting a syntax error and I'm not sure why. My code is:
def number_list(random_list):
num = [x if isinstance(x, int) in random_list]
return num
print number_list([2, 4.01, 6, 9.01, "hello", "why"])
 2 years ago
Has anyone tried the first list comprehension optional exercise? I'm getting a syntax error and I'm not sure why. My code is: def number_list(random_list): num = [x if isinstance(x, int) in random_list] return num print number_list([2, 4.01, 6, 9.01, "hello", "why"])

This Question is Closed

TuringTest
 2 years ago
Best ResponseYou've already chosen the best response.0num = [x if isinstance(x, int) in random_list] this line is no good, you need to rephrase it, probably turning it into a few lines

susanjrobertson
 2 years ago
Best ResponseYou've already chosen the best response.0I get that that is the line that is incorrect, but if we are supposed to use a list comprehension to create the list, then it can't be a few lines, can it?

TuringTest
 2 years ago
Best ResponseYou've already chosen the best response.0could you post a link to the exercise?

susanjrobertson
 2 years ago
Best ResponseYou've already chosen the best response.0It's the option exercise 2 the first one in this pdf for the course: http://ocw.mit.edu/courses/electricalengineeringandcomputerscience/6189agentleintroductiontoprogrammingusingpythonjanuaryiap2011/assignments/MIT6_189IAP11_hw2.pdf

snark
 2 years ago
Best ResponseYou've already chosen the best response.0how about [x for x in ln list if x isinstance of(...]  now i'll go read the problem....

snark
 2 years ago
Best ResponseYou've already chosen the best response.0it seems to work: r = ['a', 'w', [1,2,3], 5,'why me?',8] b = [x for x in r if x isinstance(x,int)] [5, 8]

snark
 2 years ago
Best ResponseYou've already chosen the best response.0ooops [x for x in r if isinstance(x,int)] ...threw an extra x in....

mmailliw
 2 years ago
Best ResponseYou've already chosen the best response.1The syntax for list comprehension is [x for x in SOMETHING if EXPRESSION] where "SOMETHING" is a list and "EXPRESSION" has a boolean value for example: [x for x in [1,2,3] if x > 2] while your list comprehension begins "x if" instead of "x for".

lh4219
 2 years ago
Best ResponseYou've already chosen the best response.0a = ['op', 1.7, 101, 3, 'ate', 10, 35.6] b = [i for i in a if isinstance(i, int)] print b b = [(x,y)for y in range(11) for x in range(5, 6) if x**2 + 1 == y] print b b = [(x,y)for y in range(11)for x in range(5, 6) if x**2 + y**2 == 25] print b

jgraves
 2 years ago
Best ResponseYou've already chosen the best response.0I think it is better to say the syntax is [ EXPRESSION for x in LIST if BOOLEAN EXPRESSION] >>> a = [1,2,3] >>> lc = [2*x for x in a] >>> print lc [2, 4, 6]

susanjrobertson
 2 years ago
Best ResponseYou've already chosen the best response.0Thanks all for your help. :)
Ask your own question
Ask a QuestionFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.