Отредактировано: теперь я вижу, что он ломается каждые 3-4 буквы, потому что считает запятые. Как мне также заставить его игнорировать запятые?
У меня есть строка букв, и каждые 8 букв я хочу вставить подстроку из 8 нулей. Итак, если мой ввод строки «H, e, l, l, o, W, o, r, l, d», я хочу, чтобы мой вывод выглядел как «H, e, l, l, o, W, o, г, 0, 0, 0, 0, 0, 0, 0, 0, л, д'. Это то, что у меня есть до сих пор, но я вижу, как оно ломается после того, как я перебираю 3-4 буквы.
x = 'H,e,l,l,o,W,o,r,l,d,I,t,I,s,A,G,o,o,d,D,a,y'
count = 0
for ele in x:
if count == 8:
x = x[:count] + ',0,0,0,0,0,0,0,0,' + x[count:]
count = 0
else:
count += 1
s = ''.join([x.replace(',', '') for x in s])
убрать запятые
Привет, они разделены запятыми, чтобы упростить пример. Данные, которые у меня есть на самом деле, не приветствуются, мир. Приложение, которое у меня есть, немного сложнее, оно преобразует ввод строки из ascii в двоичный, и в значительной степени я хочу сказать, что после каждых 8 бит вставляется группа нулей, чтобы я мог видеть разрыв символов.
К сожалению, я должен сохранить запятые для моего приложения
Поскольку у вас есть запятая за каждым символом, в вашем примере вы фактически вставляете нули после 16 символов. Простой способ сделать это заключается в следующем:
distance = 16
insertion = '0,' * 8
x = 'H,e,l,l,o,W,o,r,l,d,I,t,I,s,A,G,o,o,d,D,a,y'
parts = [x[i:i+distance] for i in range(0, len(x), distance)]
result = insertion.join(parts)
Результат будет:
'H,e,l,l,o,W,o,r,0,0,0,0,0,0,0,0,l,d,I,t,I,s,A,G,0,0,0,0,0,0,0,0,o,o,d,D,a,y'
Также короткое предупреждение: в вашем примере кода вы перебираете элементы x, но в цикле вы изменяете x. Вы никогда не должны изменять переменную (итерируемую), которую вы зацикливаете. Скорее, если вы хотите следовать своему подходу, вам следует создать новую переменную в виде пустой строки y = ''
, а затем соединить ваши новые строки в цикле for с y. В конце концов, вы можете переопределить x с помощью y.
Спасибо за помощь и подсказку! Он отлично вписался в мое более конкретное приложение.
Почему запятые разделяют символы?