Implemented Parentheses Idea of Issue 3576: symbols('a(0:2)') and symbols('a(0:2)(0:2)') should work 

This pull request implements new behavior of symbols function by enclosing ranges in parenthesis , e.g.:

In [1]: symbols('a(0:2)')
Out[1]: (a0, a1)

In [2]: symbols('a(0:2)(0:2)')
Out[2]: (a00, a01, a10, a11)

In [3]: symbols('a(a:c)z')
Out[3]: (aaz, abz, acz)

The original issue: http://code.google.com/p/sympy/issues/detail?id=3576 suggested some other features that was implemented and merged . This is the Implementation of Parentheses Idea for ranges so that integers can work as range and I have also done a modification to characters due to which symbols('a(a:c)z') output has changed and displays without brackets which is equivalent to symbols('aa:cz') .