X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Fsymbol_sequence.py;h=2a104aed958d877103e1962f1ad212e2ab07c981;hb=HEAD;hp=63c8316fb9725bb2aab8a91f35dabf3a2e6d854b;hpb=9d1860e7730bde81574c1beca20fecd129002f84;p=sage.d.git diff --git a/mjo/symbol_sequence.py b/mjo/symbol_sequence.py index 63c8316..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). @@ -38,13 +38,13 @@ class SymbolSequence: degree:: sage: a = SymbolSequence('a') - sage: p = sum([ a[i]*x^i for i in range(0,5)]) + sage: p = sum( a[i]*x^i for i in range(5) ) sage: p a_4*x^4 + a_3*x^3 + a_2*x^2 + a_1*x + a_0 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 @@ -328,11 +329,11 @@ class SymbolSequence: # corresponding to the second coordinate, with the first # coordinate(s) fixed. if isinstance(key, slice): - ss = [ SymbolSequence(w._repr_(), w._latex_(), self._domain) - for w in v ] + ss = ( SymbolSequence(w._repr_(), w._latex_(), self._domain) + 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: