#python
#python
Вопрос:
input = [str(bin(ord(char)))[i] for i in range(len(str(bin(ord(char)))), 1, -1) for char in input]
Это мой код, цель состоит в том, чтобы отформатировать входную строку в массив в формате битов в порядке наименьшего окончания.
Насколько я понимаю, наиболее подходящим оператором for должен быть самый внешний цикл, но 2-й символ, используемый при создании диапазона, в этот момент не определен.
Является ли мое предположение неверным в отношении интерпретации как внешнего цикла или я делаю что-то не так?
Я хочу перебирать все символы во входных данных, а затем перебирать все биты в обратном порядке для каждого символа.
Комментарии:
1. Вы захотите изменить порядок этих двух циклов for . Первая является внешней в понимании списка.
2. Для двойных пониманий, которые не являются вложенными,
for
части идут в обратном порядке. Попробуйте записать ее какfor char in input for i in range(len(str(bin(ord(char)))), 1, -1)
3. Это сработало, не уверен, почему моя информация перевернулась. Спасибо вам обоим!
Ответ №1:
Похоже, вы пытаетесь изменить битовую строку,
этот фрагмент изменяет битовую строку
["".join(reversed(bin(ord(char))[2:])) for char in input]
имейте в виду, что первые 2 символа двоичной строки есть '0b'
, и они не являются частью значения
Комментарии:
1. На мой вопрос был дан ответ в комментариях, но это более простой способ решить мою проблему, спасибо!