X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Fsymbol_sequence.py;h=2a104aed958d877103e1962f1ad212e2ab07c981;hb=0378679ab4d3e52c08f126b681c20e9f9c5e9023;hp=b7c438fa02fda1702f6df4fd5a6f1b3a41fce7b0;hpb=0f82bb9c56eb8c7069e20e1948504deac213169e;p=sage.d.git diff --git a/mjo/symbol_sequence.py b/mjo/symbol_sequence.py index b7c438f..2a104ae 100644 --- a/mjo/symbol_sequence.py +++ b/mjo/symbol_sequence.py @@ -1,7 +1,7 @@ from sage.all import * class SymbolSequence: - """ + r""" An iterable object which acts like a sequence of symbolic expressions (variables). @@ -44,7 +44,7 @@ class SymbolSequence: 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]) @@ -57,7 +57,7 @@ class SymbolSequence: 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 @@ -175,9 +175,10 @@ class SymbolSequence: 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 @@ -332,7 +333,7 @@ class SymbolSequence: 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: