rosalind练习题二十三

该文章描述了一个问题,涉及根据预定义顺序的字母表生成特定长度的字符串,并按字典序排列。给定一个最多包含10个符号的字母表和一个正整数n,程序使用itertools.product生成所有长度为n的字符串,并按照英语字母顺序输出结果。示例中,对于字母表ACGT和长度n=2,输出了所有可能的组合。
摘要由CSDN通过智能技术生成

# Problem

# Assume that an alphabet 𝒜 has a predetermined order; that is, we write the alphabet as a permutation 𝒜=(a1,a2,…,ak), where a1<a2<⋯

# Given two strings s and t having the same length n, we say that s precedes t in the lexicographic order (and write s<Lext) if the first symbol s[j] that doesn't match t[j] satisfies sj<tj in 𝒜.

# Given: A collection of at most 10 symbols defining an ordered alphabet, and a positive integer n (n≤10).

# Return: All strings of length n that can be formed from the alphabet, ordered lexicographically (use the standard order of symbols in the English alphabet).

# Sample Dataset

# A C G T

# 2

# Sample Output

# AA

# AC

# AG

# AT

# CA

# CC

# CG

# CT

# GA

# GC

# GG

# GT

# TA

# TC

# TG

# TT

# 列出长度为2的组合

import itertools

n =2  # 长度为2

seq = ['A', 'C', 'G', 'T']# 基因序列包含的字符

# 使用itertools生成所有可能的组合

result = itertools.product(seq, repeat=n)

# 打印所有组合

for iin result:

print(''.join(i))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值