[EMAIL PROTECTED] wrote: > Is there a conceptual difference between > best =test[:] > and > best = [x for x in test] ? > test is a list of real numbers. Had to use the second form to avoid a > nasty bug > in a program I am writing. I have to add too that I was using psyco > in Python 2.5.1. > The first one will only copy sliceable sequences and will give you a result of the same type as test (e.g. if test is a tuple so is best).
The second one will copy any sequence, always results in a list and as a side effect assigns a value to 'x'. The method usually recommended is: best = list(test) as it has no side effects, copies any sequence and may be faster than the list comprehension. As with the second of your examples it always gives you a list. -- http://mail.python.org/mailman/listinfo/python-list