Вы можете удалить начальный текст ("0b"), используя обозначение среза:
s = "0b10100"
s[2:] # "10100"
Вы можете преобразовать полученную строку в список символов, воспользовавшись тем, что строки являются итеративными, а встроенная функция list()
принимает итерируемое:
list(s[2:]) # [ '1', '0', '1', '0', '0' ]
Вы можете преобразовать отдельные 1-символьные строки в целые числа с помощью встроенного int()
. понимание списка позволяет вам выразить это в строке:
newlist = [int(ch) for ch in list(s[2:])]
# [1, 0, 1, 0, 0]
Вы можете заметить, что 0/1 можно преобразовать в -1/1, удвоив входное значение и вычтя одно:
newlist = [2 * int(ch) - 1 for ch in list(s[2:])]
# [1, -1, 1, -1, -1]