I think you can just use sympify:
```
In [2]: sympify('a, b, c')
Out[2]: (a, b, c)

In [3]: sympify(['a','b','c'])
Out[3]: [a, b, c]

In [4]: sympify([symbols('a'),symbols('b'),'c'])
Out[4]: [a, b, c]
```

That way, sympify will raise the errors. I would drop the first 2 if statements and just check the length after creating the symbols.