Создайте 100 строк в одном массиве (python)

Я хочу создать массив из 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', ...]

Можете ли вы опубликовать код того, что вы пробовали, и какие ошибки вы получаете?

G. Anderson 11.10.2018 18:26

добавить внешний цикл?

Serge 11.10.2018 18:28

Добро пожаловать в StackOverflow. Пожалуйста, прочтите и следуйте инструкциям по публикации в справочной документации, как было предложено при создании этой учетной записи. Здесь применяются По теме, как спросить и ... идеальный вопрос. StackOverflow - это не ресурс для дизайна, программирования, исследований или учебных пособий. Однако, если вы следите за любыми ресурсами, которые найдете в сети, сделаете честную попытку кодирования и столкнетесь с проблемой, у вас будет хороший пример для публикации.

Prune 11.10.2018 18:36
"Кто-нибудь может мне помочь?" не правильный вопрос SO. Обычно это говорит о том, что вам нужно время с местным репетитором или пройти обучение, а не переполнение стека.
Prune 11.10.2018 18:37
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
4
212
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы почти у цели, и код, который вы предоставили в качестве скелета, можно улучшить путем выборки 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']

Другие вопросы по теме