Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

sage does it for us. (And i really enjoy the output while printing e.g. some points on elliptic curves.)

But often space is expensive. In such cases i use my own explicit will (after seeing the mess..). For instance, from the sage interpreter opened in a linux console, here are some more or less equivalent ways:

sage: v = 30 * [3,]    # comma is not needed, but humanly clears, this is a list repeated 30x
sage: # v = [ 3 for _ in range(30) ]    # would be the list comprehension for the above
sage: repr(v)
'[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]'
sage: print repr(v)
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
sage: str(v)
'[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]'
sage: print str(v)
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
sage: print "v = %s" % v
v = [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
sage: v.__str__()
'[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]'
sage: v.__repr__()
'[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]'
sage: v

[3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3, 
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3]

(The last is the mess, that we often want to avoid on the small laptop terminal in the train.)