Я пытаюсь эффективно изменить значения в двоичном коде на основе вероятности случайного числа. Ниже приведен блок кода, который я сгенерировал, и он работает, но я считаю, что это можно было бы сделать лучше, чтобы сократить время и использование памяти при манипулировании тысячами двоичных строк.
b = '111111'
c = [random.random() for x in range(len(b))]
for x in range(len(b)):
z = list(b)
if c[x] <= 0.3:
print(x, True)
z[x] = '0'
b = ''.join(z)
else:
print(x, False)
Использование этого кода приведет к получению результата, аналогичного b = '011010'
, на основе сгенерированных случайных чисел. Хотя это результат, которого я хочу, я считаю, что есть более эффективный способ создания этого кода, поэтому мне не нужно повторно перечислять и повторно объединять b
во время каждой итерации цикла for. Будем весьма благодарны за любые замечания по повышению эффективности.