In [1]: from ast import literal_eval
In [2]: literal_eval("[1, 2, 3]")
Out[2]: [1, 2, 3]
a = "[1, 22 , 3, ad, Bc, 3.5]"
lst=[]
for elem in re.findall('([\w.]+)', a):
if elem.isnumeric():
lst.append(int(elem))
else:
try:lst.append(float(elem))
except:lst.append(elem)
print(lst)
[1, 22, 3, 'ad', 'Bc', 3.5]
string = "[a, b, c]"
# Создаём список и запихиваем туда всё из данной строки, кроме того, что находится в условиях
arr = [i for i in string if i != "[" and i != "]" and i != "," and i != " "]
print(arr)