Как преобразовать string в обычный массив с элементами

Это игра в пятнашки, мне автоматически генерируется произвольная доска, но проблема в том, что это строка. Например, сгенерировалась эта строка

------------------
[' 3', ' 8', ' 1']
[' 7', '  ', ' 5']
[' 6', ' 4', ' 2']
------------------

Хотел бы это преобразовать в одномерный массив. Например в это,

[' 3', ' 8', ' 1',' 7', '  ', ' 5',' 6', ' 4', ' 2']

чтобы потом мог обращаться к каждому элементу массива.

Вот как генерируется эта доска

def __str__(self):
    symbols = [tile_to_string(x) for x in self.__tiles]
    msg = '-'*self.__size*6+'\n'
    for row in range(self.__size):
        msg +=str(symbols[row*self.__size:row*self.__size+self.__size])
        msg += '\n'
    msg += '-'*self.__size*6
    return msg

Ответы (1 шт):

Автор решения: Qwertiy

https://ideone.com/pdSXXV

import re

str = """------------------
[' 3', ' 8', ' 1'][' 7', '  ', ' 5'][' 6', ' 4', ' 2']
------------------"""

print(re.findall(r"(?<=')\s*\d*(?=')", str))
[' 3', ' 8', ' 1', ' 7', '  ', ' 5', ' 6', ' 4', ' 2']
→ Ссылка