Well, my opinion about your code :
At first, it seems far too complex for what it is ! First, there is a whole lot of useless tests ! For example :
if node is not None and type(node) == list
The "node is not None" is useless, because the type of None is ... NoneType so type(node) == list is enough to ensure what you want. And you have a lot of tests like that.
Then, you code is still buggy ! Just try :
l = LinkedList([1,2,3]) l < 4 l == 4
with code like :
def __eq__(self, y):
if [...]
try: [...]
except:
return self == ythat's jsut natural ... remember that "self == y" will just call ... self.__eq__ ! Thus you get an infinite loop !!!
Another thing is your indentation. Please, always use the same indentation level everywhere ! Don't just align code that are not at the same level ... that reduces the readability of your code. I think the worst part was some code like :
if foo:
line of code
line of code
line of code
line of code
line of code
line of code
line of code
line of code
else: line of code
another line of code... in your __init__ method. Please, never do that again ! I almost missed the "else" !
At last, if you use linked list why embed a python list in it ???????
I can think of applications for a linked list, but if you embed a real list, what is the use of your links ???? I can't think of a single application in any language that would make use of your "linked list" ... you lost the O(1) insertion time for example. I don't know about java LinkedList but I doubt it's like that !
Well, the fact your code is useless is not very important, but please, first, try to express what data structure you want and its properties. Then, write your tests, and don't forget important ones !!! (Like l > 4) Remember Python has no type checking, so you have to test with strange types too ! And follow the coding rules for python :
http://www.python.org/doc/essays/styleguide.html
Please, try again, and be carefull with your coding style when you post your code ;)
Pierre
Orri Ganel a �crit :
I'm not at all sure this is, indeed, helpful *grin*. I was just
looking for a project to code, and decided to implement a LinkedList. The how of using it is very simple: in the same way you would use a
regular list. Except for a few extra/different methods, the use of
LinkedList is very similar to that of regular lists. As to the why,
like I said, I don't know that this will actually serve a purpose,
it's a project I wrote just to write something. If it actually ends
up being useful, too, that'd be great, but it wasn't my main
objective.
HTH, Orri
On Mon, 28 Mar 2005 15:50:15 -0800 (PST), Chad Crabtree <[EMAIL PROTECTED]> wrote:
I'm at a loss as to why this is helpful. How and why would one use this instead of a regular list? I know what linked lists are and why they
would be useful in C++ or C or any other but not python.
-- Pierre Barbier de Reuille
INRA - UMR Cirad/Inra/Cnrs/Univ.MontpellierII AMAP Botanique et Bio-informatique de l'Architecture des Plantes TA40/PSII, Boulevard de la Lironde 34398 MONTPELLIER CEDEX 5, France
tel : (33) 4 67 61 65 77 fax : (33) 4 67 61 56 68 _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
