Имеется массив numpy. Для определённости dtype=[('name', 'S14'), ('offset', '<u4'), ('size', '<u4'), ('flags', '<u4')]
Требуется вывести его на экран так, чтобы первые 3 поля вывелись как bytes и 2 32-битных целых с ведущими пробелами, а последнее — как числа по основанию 2 или 16 с ведущими нулями.
Как это сделать? Или хотя бы как называется нужная мне фича в терминологии numpy?
Ответ:
def r26_to_str(x):
name, offset, size, flags = x
return name.decode() + f' {offset:8} {size:8} {flags:0{8}x}'
#return name.decode() + f' {offset:8} {size:8} {flags:0{32}b}'
np.vectorize(r26_to_str)(file_list)