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 trialMo Reese
11,868 PointsGetting back a "None"
I passed the challenge, but became confused when the editor refused to show me a preview & told me to 'check my code'. When i went to work spaces, all I got was: None None None... (x10) When I thought I would get [0, 1, 2, 3,etc].
my_list = []
for i in range(0, 10, 1):
print (my_list.append(i))
Can someone please tell me what I am missing & why i did not get the expected result of a list with int 0 thru 9?
2 Answers
Vivian Tung
1,844 PointsHey! I thought this would give me the list too when I first looked at it. The trouble is that
my_list.append(i)
is a NoneType, meaning that it adds (i) to the list, but isn't the list itself. So printing that statement won't give anything other than None.
To get the full list, you could just separate the commands.
Hope this helped!
KRIS NIKOLAISEN
54,971 PointsFrom the docs
You might have noticed that methods like insert, remove or sort that only modify the list have no return value printed – they return the default None. This is a design principle for all mutable data structures in Python.
Mo Reese
11,868 PointsThanks for your response Kris. I'll use that link in the future!
Mo Reese
11,868 PointsMo Reese
11,868 PointsOk, I see what you're saying about separating the commands, and when I ran:
I did get the result that I expected... Thanks!