我在一个名为“DNASeq.txt”的文件中有一个包含 DNA 行的文件。我需要一个代码来读取每一行并在整行的随机位置(插入空格)拆分每一行。每条线需要在不同的地方拆分。例如:我有:AAACCCHTHTHDAFHDSAFJANFAJDSNFADKFAFJ 我需要这样的东西:AAA ADSF DFAFDDSAF ADF ADSF AFD AFAD我已经尝试过(!!!对 python 非常陌生!!):import randomfor x in range(10): print(random.randint(50,250))但这会打印随机数。有没有办法让随机数像变量一样生成?
3 回答
呼如林
TA贡献1798条经验 获得超3个赞
import random
with open('source', 'r') as in_file:
with open('dest', 'w') as out_file:
for line in in_file:
newLine = ''.join(map(lambda x:x+' '*random.randint(0,1), line)).strip() + '\n'
out_file.write(newLine)
既然你提到是新人,我会试着解释一下
为了预防起见,我正在将新序列写入另一个文件。写入您正在读取的文件是不安全的。
with 构造函数使您无需显式关闭您打开的文件。
可以使用 for 循环逐行读取文件。
''.join() 将列表转换为字符串。
map() 将函数应用于列表的每个元素,并将结果作为新列表返回。
lambda 是你定义一个函数而不命名它的方式。
lambda x: 2*x
你喂它的数量翻倍。x + ' ' * 3 在 x 后添加 3 个空格。random.randint(0, 1) 返回 1 或 0。所以我随机选择是否在每个字符后添加一个空格。如果 random.randint() 返回 0,则添加 0 个空格。
添加回答
举报
0/150
提交
取消