Op 26-02-15 om 09:55 schreef Alan Gauld:
On 26/02/15 04:30, kcberry wrote:
So I am new to this, and I have a book call /Hello Python by Anthony
Briggs/.
It is a good book but it is using Python 2 I think and I can't get my
code
to work. I get an "AttributeError: 'range' object has no attribute
'remove'". I have tried to look it up on the web with no luck. Can
someone
help me understand this .
Please always send full error traces, they contain a lot of useful
details.
Meantime in this case we can figure it out...
#Setting up cave network
unvisited_caves = range(0,20)
current = 0
visited_caves = [0]
*unvisited_caves.remove(0)*
In Python 3 eange does not return a list. It returns something called
a "range object" which helps save memory for large daya sets.
If you need to use it as a list you need to explicitly
convert it using list():
unvisited_caves = range(0,20)
I think you missed your own solution here, Alan. You probably meant:
unvisited_caves = list(range(0, 20))
Timo
...
unvisited_caves.remove(0)
However remove() may not do what you think. It removes the
value zero from your list not the first element. I this case they are
the same but in other cases they might not be. You may want to use
del() instead
del(unvisited_caves[0])
HTH
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor