在一个数组中创建100个字符串(python)

2024-06-16 09:44:22 发布

您现在位置: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', ...]

Tags: 字符串infornprangerandomval数组
1条回答
网友
1楼 · 发布于 2024-06-16 09:44:22

您就快到了,您作为骨架提供的代码可以通过将np.random.choice中的size参数设置为16,一次对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']

相关问题 更多 >