|   | 1 |  initial version  | 
This behaviour is part of Python (the following code is evaluated in the standard python shell):
>>> W = [1, 8, 4, 7, 10, 1, 6, 3]
>>> 2*W
[1, 8, 4, 7, 10, 1, 6, 3, 1, 8, 4, 7, 10, 1, 6, 3]
The standard thing to do is to either use list comprehension
>>> [3*i for i in W]
[3, 24, 12, 21, 30, 3, 18, 9]
or map (for a comparison, see http://stackoverflow.com/q/1247486/421225)
>>> map(lambda i: 3*i, W)
[3, 24, 12, 21, 30, 3, 18, 9]
Although, if you're using just numerical lists and are used to matlab, then maybe you should use numpy:
>>> import numpy
>>> npW = numpy.array(W)
>>> npW*3
array([ 3, 24, 12, 21, 30,  3, 18,  9])
For large arrays, numpy will be faster at this type of operation than the pythonic methods above.
|   | 2 |  No.2 Revision  | 
This behaviour is part of Python (the following code is evaluated in the standard python shell):
>>> W = [1, 8, 4, 7, 10, 1, 6, 3]
>>> 2*W
[1, 8, 4, 7, 10, 1, 6, 3, 1, 8, 4, 7, 10, 1, 6, 3]
The standard thing to do is to either use list comprehension
>>> [3*i for i in W]
[3, 24, 12, 21, 30, 3, 18, 9]
or map (for a comparison, see http://stackoverflow.com/q/1247486/421225)
>>> map(lambda i: 3*i, W)
[3, 24, 12, 21, 30, 3, 18, 9]
Although, if you're using just numerical lists and are used to matlab, then maybe you should use numpy:
>>> import numpy
>>> npW = numpy.array(W)
>>> npW*3
array([ 3, 24, 12, 21, 30,  3, 18,  9])
For large arrays, numpy will be faster at this type of operation than the pythonic methods above.
Of course, the sage approach is to use a vector object (see Laurent's answer)
|   | 3 |  No.3 Revision  | 
This behaviour is part of Python (the following code is evaluated in the standard python shell):
>>> W = [1, 8, 4, 7, 10, 1, 6, 3]
>>> 2*W
[1, 8, 4, 7, 10, 1, 6, 3, 1, 8, 4, 7, 10, 1, 6, 3]
The standard thing to do is to either use list comprehension
>>> [3*i for i in W]
[3, 24, 12, 21, 30, 3, 18, 9]
or map (for a comparison, see http://stackoverflow.com/q/1247486/421225)
>>> map(lambda i: 3*i, W)
[3, 24, 12, 21, 30, 3, 18, 9]
Although, if you're using just numerical lists and are used to matlab, then maybe you should use numpy:
>>> import numpy
>>> npW = numpy.array(W)
>>> npW*3
array([ 3, 24, 12, 21, 30,  3, 18,  9])
For large arrays, numpy will be faster at this type of operation than the pythonic methods above.
Of course, the sage approach is to use a vector object (see Laurent's answer)
|   | 4 |  No.4 Revision  | 
This behaviour is part of Python (the following code is evaluated in the standard python shell):shell, although it should also work in sage or a sage notebook):
>>> W = [1, 8, 4, 7, 10, 1, 6, 3]
>>> 2*W
[1, 8, 4, 7, 10, 1, 6, 3, 1, 8, 4, 7, 10, 1, 6, 3]
The standard thing to do is to either use list comprehension
>>> [3*i for i in W]
[3, 24, 12, 21, 30, 3, 18, 9]
or map (for a comparison, see http://stackoverflow.com/q/1247486/421225)
>>> map(lambda i: 3*i, W)
[3, 24, 12, 21, 30, 3, 18, 9]
Although, if you're using just numerical lists and are used to matlab, then maybe you should use numpy:
>>> import numpy
>>> npW = numpy.array(W)
>>> npW*3
array([ 3, 24, 12, 21, 30,  3, 18,  9])
For large arrays, numpy will be faster at this type of operation than the pythonic methods above.
Of course, the sage approach is to use a vector object (see Laurent's answer)
|   | 5 |  No.5 Revision  | 
This behaviour is part of Python (the following code is evaluated in the standard python shell, although it should also work in sage or a sage notebook):
>>> W = [1, 8, 4, 7, 10, 1, 6, 3]
>>> 2*W
[1, 8, 4, 7, 10, 1, 6, 3, 1, 8, 4, 7, 10, 1, 6, 3]
The standard thing to do is to either use list comprehension
>>> [3*i for i in W]
[3, 24, 12, 21, 30, 3, 18, 9]
or map (for a comparison, see http://stackoverflow.com/q/1247486/421225)
>>> map(lambda i: 3*i, W)
[3, 24, 12, 21, 30, 3, 18, 9]
Although, if you're using just numerical lists and are used to matlab, then maybe you should use numpy:
>>> import numpy
>>> npW = numpy.array(W)
>>> npW*3
array([ 3, 24, 12, 21, 30,  3, 18,  9])
For large arrays, numpy NumPy will be faster at this type of operation than the pythonic methods above.above. For a discussion of NumPy in sage see http://www.sagemath.org/doc/numerical_sage/numpy.html
Of course, the standard sage approach is to use a vector object (see Laurent's answer)
 Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.
 
                
                Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.