My python program has a minor problem. The case is that I'm trying to use myarray.append() to my array, but in the python shell, it's telling me this when I do a test appending in the python shell:
>> l.append('1') # l is already defined
Traceback (most recent call last):
File "", line 1, in
l.append('1')
AttributeError: 'NoneType' object has no attribute 'append'
>>
I'm very confused about this problem, but anyways, I'll let you see the code:
l=[] #*
i=1
while True:
if 3*i<1000:
l.append(str(i)) #*
else:
break
i+=1
l=l.sort()
print l
*I believe here are the main factors of the problem
I might just be going crazy and not realizing, but if you can help, please do.
P.S. When I run the program, on print l, it just output's None
解决方案
Your problem is in
l = l.sort()
The sort() method sorts a list in-place; the list itself is reordered, rather than returning a new list. The method returns None, which you are then assigning to l. So you just need to remove the assignment.
An alternative is to use
l = sorted(l)
which will actually make a copy of the original list with the elements in sorted order.