from sage.all import *
class SymbolSequence:
- """
+ r"""
An iterable object which acts like a sequence of symbolic
expressions (variables).
Using a different latex name since 'lambda' is reserved::
- sage: l = SymbolSequence('l', '\lambda')
+ sage: l = SymbolSequence('l', r'\lambda')
sage: l[0]
l_0
sage: latex(l[0])
a_0_1_2
sage: latex(a[0,1,2])
a_{0}_{1}_{2}
- sage: [ a[i,j] for i in range(0,2) for j in range(0,2) ]
+ sage: [ a[i,j] for i in range(2) for j in range(2) ]
[a_0_0, a_0_1, a_1_0, a_1_1]
You can pass slices instead of integers to obtain a list of
result = []
for item in l:
- if isinstance(item, list):
+ try:
+ item = iter(item)
result += self._flatten_list_(item)
- else:
+ except TypeError:
result += [item]
return result
for w in v )
# This might be nested...
- maybe_nested_list = [ s._subscript_tuple_(args) for s in ss ]
+ maybe_nested_list = ( s._subscript_tuple_(args) for s in ss )
return self._flatten_list_(maybe_nested_list)
else: