我正在尝试生成具有给定数量的 A、G、T 和 C 的随机 DNA 序列;在 Python 中使用随机函数。
如何在列表中打乱这些单独的字符串?
我想遍历这个列表中的 10 个序列,但我被困在这里:
随机导入 对于 finalList 中的项目:
random.sample(items, k=len(items)) #我该如何解决这个问题?
可以尝试使用 random 模块中的 shuffle 或 sample() 函数随机打乱 A、G、T 和 C,同时保持每个字母的数量相同(例如 AGT > GAT)。请注意,您需要加入生成的字符以创建新字符串。
import random
final_list = ['AGTCTTTGTGT', 'ACGCGTAAACG', 'AGGGTCTC']
for s in final_list :
result = "".join(random.sample(s, k=len(s)))
print(s, ">", result)
同样,可以通过首先将字符串转换为字符列表来使用 shuffle()。
for s in final_list :
l = list(s)
random.shuffle(l)
result = ''.join(l)
print(s, ">", result)
输出:
AGTCTTTGTGT > TGTCGGATTTT
ACGCGTAAACG > AGAGCCATCGA
AGGGTCTC > GCTGCGTA