Я хочу создать массив из 100 строк, которые сделаны следующим образом:
sequence = []
for i in range(0, 16):
sequence.append(np.random.choice(nucleotides, 1, p = pfmNew[:,i]))
sequence=[val for sublist in sequence for val in sublist]
sequence = "".join(sequence)
print(sequence)
Вот результат, который я получаю:
TCGTTCACAGTGACAT
Теперь я хочу сделать это 100 раз и поместить их в один массив, например:
['TCGTTCACAGTGACAT', 'next string', ...]
добавить внешний цикл?
Добро пожаловать в StackOverflow. Пожалуйста, прочтите и следуйте инструкциям по публикации в справочной документации, как было предложено при создании этой учетной записи. Здесь применяются По теме, как спросить и ... идеальный вопрос. StackOverflow - это не ресурс для дизайна, программирования, исследований или учебных пособий. Однако, если вы следите за любыми ресурсами, которые найдете в сети, сделаете честную попытку кодирования и столкнетесь с проблемой, у вас будет хороший пример для публикации.






Вы почти у цели, и код, который вы предоставили в качестве скелета, можно улучшить путем выборки 16 нуклеотидов за раз, установив аргумент size в np.random.choice равным 16. Затем вы можете просто выполнить цикл 100 раз.
nucleotides = list('ACGT')
sequence = []
for _ in range(100):
sequence.append(''.join(np.random.choice(nucleotides, 16, p = pfmNew[:,i])))
# Or you can replace the loop by a list comprehension:
# sequence = [''.join(np.random.choice(nucleotides, 16, p = pfmNew[:,i])) for _ in range(100)]
# Take a look at the first 10:
sequence[:10]
['TTCACTACCCGCAAAC', 'CTCCTGATACAGATCG', 'CTTGACGATGCTCCGA', 'ATGACCAATGAAGCCG', 'TTGCCGACGTCGATTG', 'ATATTCTTGCGCAGGT', 'CTTAGCCCATCACCCC', 'GGGTTTCCGCCTCGTA', 'ACGTCAAGTGCAGTGC', 'GGTAGATCCGAAACGC']
Можете ли вы опубликовать код того, что вы пробовали, и какие ошибки вы получаете?