If you have a regular pattern that describes what you want to do with a string, using a regular expression (regex) is usually a good idea. In addition to using re.split, as shown in another answer by @python_user, you can also use re.findall, which has the advantage that you don't have to manually deal with the opening and closing delimiters:
import re
re.findall('\[(.)\]', '[A][B][C]')
# ['A', 'B', 'C']
This finds all single characters (.), which are surrounded by square parenthesis (\[...\]) and selects only the character itself ((.)).
If you want to allow more than one character between the parenthesis, you need to use a non-greedy version of *, the *?:
re.findall('\[(.*)\]', '[][a][a2][+%]')
# ['][a][a2][+%']
re.findall('\[(.*?)\]', '[][a][a2][+%]')
# ['', 'a', 'a2', '+%']
Regarding your code itself, Python has an official style-guide, PEP8, which recommends using lower_case instead of pascalCase for variables and functions.
You could also chain your calls together without sacrificing too much readability (even gaining some, arguably):
my_list = my_string.lstrip('[').rstrip(']').split('][')