Кто-то действительно испортил эти данные. У нас есть следующее:
a = ['[', '1', ',', ' ', '0', ',', ' ', '0', ',', ' ', '0', ',', ' ', '0', ',', ' ', '1', ',', ' ', '0', ',', ' ', '1', ',', ' ', '1', ',', ' ', '0', ']']
Давайте попробуем что-нибудь
b = ''.join(a)
Теперь b
- это '[1, 0, 0, 0, 0, 1, 0, 1, 1, 0]'
. Это похоже на задачу для literal_eval
:
import ast
ast.literal_eval(b)
Et voilà, список вернулся: [1, 0, 0, 0, 0, 1, 0, 1, 1, 0]
.
Чтобы собрать все воедино:
import ast
a = ['[', '1', ',', ' ', '0', ',', ' ', '0', ',', ' ', '0', ',', ' ', '0', ',', ' ', '1', ',', ' ', '0', ',', ' ', '1', ',', ' ', '1', ',', ' ', '0', ']']
result = ast.literal_eval(''.join(a))
Кто бы ни создавал этот беспорядок данных, он использовал комбинацию приведений к строке и списку. Проверьте сами: print(str(list(str([1, 0, 0, 0, 0, 1, 0, 1, 1, 0]))))