У меня есть длинный список, который выглядит следующим образом:Элегантный способ преобразовать список в шестнадцатеричную строку
[True, True, True, False, ... ]
Представительство стены в карте плитки. Он не гарантированно будет кратным 4 долгим, но не имеет значения, будет ли он дополняться в конце.
Я хотел бы, чтобы преобразовать это в шестнадцатеричной строки, так что для приведенного выше примера было бы начать с E ...
Я надеялся, что там был хороший элегантный способ сделать это (с использованием Python 2.7. 3)!
Спасибо.
EDITED
Это пример карты 9х9:
map = [True, True, True, True,
True, True, True, True,
True, True, True, True,
True, False, False, True,
True, True, True, True,
True, False, False, False,
False, True, True, True,
True, True, False, False,
False, False, True, True,
True, True, True, True,
False, False, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True, True, True, True,
True]# False, False, False padded
, что я хотел бы, чтобы быть в состоянии
str = heximify(map)
print str
> FFF9F87C3F3FFFFFFFFF8
Я думаю, что вы имеете в виду байт строки, не так ли? – Keith
Нет, на самом деле я хочу, чтобы строка была в конце, что-то вроде eff5ac5664abe – MalphasWats
Где вы хотите заполнить (если длина не кратная 4)? И как именно вы хотите, чтобы он дополнялся? Или, по-другому, можете ли вы показать пример желаемого вывода для входной длины, скажем, 5? –