У меня есть список с плавающей точкой, и я хочу преобразовать его в байты.Пожалуйста, помогите мне сделать это.например
l = [[0.1, 1.0, 2.0], [2.0, 3.1, 4.1]]
и я хочу что-то вроде
bytes(l) -> b'\x01\x02\x03.......'
Поскольку вы отметили это numpy, это просто tobytes
numpy
tobytes
a = np.array(l) a.tobytes()
b'\x9a\x99\x99\x99\x99\x99\xb9?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\xcd\xcc\xcc\xcc\xcc\xcc\x08@ffffff\x10@'
Этот результат может бытьповторно обрабатывается как ndarray с использованием frombuffer, но исходная форма не сохраняется.
ndarray
frombuffer
Надеюсь, это то, что вы хотели:
import struct input = [[0.1, 1.0, 2.0], [2.0, 3.1, 4.1]] outs = list() string = "" for i in input: for j in i: outs.append(bytes(struct.pack("f", j))) for i in outs: string += str(i) print(i) print('Bytes:', string)