Return 具有相同数量元素的列表
Return a list with same number of elements
我有一个程序可以将 DNA 序列转换为 RNA 序列。
翻译部分没问题。我卡住的地方是我输入了一个列表
四个元素的列表,但我返回的是一个包含单个元素的列表。
我的代码:
dnasequences = [
'GCTAGCTAGCTAGCTA',
'CTAGCTAGCTAGCTAG',
'TAGCTAGCTAGCTAGC',
'AGCTAGCTAGCTAGCT'
]
xlate = {'G': 'C', 'C': 'G', 'T': 'A', 'A': 'U'}
def dna2rna(sequences):
rnalist = [xlate[n] for sequence in sequences for n in sequence]
return rnalist
rnasequences = dna2rna(dnasequences)
print(''.join(rnasequences))
这个returns:
CGAUCGAUCGAUCGAUGAUCGAUCGAUCGAUCAUCGAUCGAUCGAUCGUCGAUCGAUCGAUCGA
翻译正确,但我希望 rnasequences() 包含四个
16 个字符的元素就像输入列表 dnasequences().
目前您的列表rnasequences
包含单个字符的 64 个元素。您可以将此列表拆分为包含 16 个元素的较小列表并将它们连接起来,这样您就可以获得长度为 16 的字符串:
>>>[''.join(rnasequences[i:i+16]) for i in range(0, len(rnasequences), 16)]
['CGAUCGAUCGAUCGAU',
'GAUCGAUCGAUCGAUC',
'AUCGAUCGAUCGAUCG',
'UCGAUCGAUCGAUCGA']
要了解拆分的工作原理,请查看 this 问题。
我有一个程序可以将 DNA 序列转换为 RNA 序列。
翻译部分没问题。我卡住的地方是我输入了一个列表 四个元素的列表,但我返回的是一个包含单个元素的列表。
我的代码:
dnasequences = [
'GCTAGCTAGCTAGCTA',
'CTAGCTAGCTAGCTAG',
'TAGCTAGCTAGCTAGC',
'AGCTAGCTAGCTAGCT'
]
xlate = {'G': 'C', 'C': 'G', 'T': 'A', 'A': 'U'}
def dna2rna(sequences):
rnalist = [xlate[n] for sequence in sequences for n in sequence]
return rnalist
rnasequences = dna2rna(dnasequences)
print(''.join(rnasequences))
这个returns:
CGAUCGAUCGAUCGAUGAUCGAUCGAUCGAUCAUCGAUCGAUCGAUCGUCGAUCGAUCGAUCGA
翻译正确,但我希望 rnasequences() 包含四个 16 个字符的元素就像输入列表 dnasequences().
目前您的列表rnasequences
包含单个字符的 64 个元素。您可以将此列表拆分为包含 16 个元素的较小列表并将它们连接起来,这样您就可以获得长度为 16 的字符串:
>>>[''.join(rnasequences[i:i+16]) for i in range(0, len(rnasequences), 16)]
['CGAUCGAUCGAUCGAU',
'GAUCGAUCGAUCGAUC',
'AUCGAUCGAUCGAUCG',
'UCGAUCGAUCGAUCGA']
要了解拆分的工作原理,请查看 this 问题。