у вас есть список, подобный этому:
Output: [list([0, 0, 1, 0]) list([1, 0, 1, 0]) list([0, 0, 1, 1]) .... list([0, 1, 1, 0]) list([0, 0, 1, 0]) list([0, 0, 1, 0])]
, а желание вывода равно: [2,10,3,..,6,2,2]
он может быть ниже по коду, который применяется к выводу:
a= [list([0, 0, 1, 0]), list([1, 0, 1, 0]), list([0, 0, 1, 1])]
out=[]
for l in range(0,len(a)):
A=a[l]
out.append(A[3]+A[2]*2+A[1]*4+A[0]*8)
print(out)
И вывод: out: [2, 10, 3]
Обновление:
Каждый элемент списка должен объединяться для получения двоичной строки, такой как 0010
, затем он изменится на десятичное значение от int (результат, 2) здесь код:
a= [list([0, 0, 1, 0]), list([1, 0, 1, 0]), list([0, 0, 1, 1,0, 0, 1, 1])]
out=[]
for l in range(len(a)):
result= ''
for element in a[l]:
result += str(element)
out.append(int(result,2))
print(out)
Двоичный вывод: ['0010', '1010', '00110011']
десятичный вывод: [2, 10, 51]