Python 如何将字符串拆分为3组,然后相应地打印到该组?
这个问题是重复的。我知道。然而,最后一个答案是针对Python2.7的,并且在终端中使用过,我还需要将其他一些东西纳入其中 这是我的代码: n=3 xdict={ 苯丙氨酸:[UUU,UUC],亮氨酸:[UUA,CUU,CUC,CUA,CUG,UUG], 异亮氨酸:[AUU,AUC,AUA],蛋氨酸:AUG,缬氨酸:[GUU,GUC,GUA,GUG], 丝氨酸:[UCU,UCC,UCA,UCG],脯氨酸:[CCU,CCC,CCA,CCG], 苏氨酸:[ACU,ACC,ACA,ACG],丙氨酸:[GCU,GCC,GCA,GCG], 酪氨酸:[UAU,UAC],组氨酸:[CAU,CAC],谷氨酰胺:[CAA,CAG], 天冬酰胺:[AAU,AAC],赖氨酸:[AAA,AAG],天冬氨酸:[GAU,GAC], 谷氨酸:[GAA,GAG],半胱氨酸:[UGU,UGC],Trytophan:UGG, 精氨酸:[CGU,CGC,CGA,CGG,AGG,AGA],丝氨酸:[AGU,AGC], 甘氨酸:[GGU,GGC,GGA,GGG] } lookup_dict={k:key for key,xdict中的值。items for k in values} a=输入您的DNA序列: 直线=a 第[i:i+n]行表示范围为0的i,lenline,n取自其他答案 printlookup_dict[行]根据其他答案编辑 我该如何操作这段代码,以便如果我输入像uuu-cuua这样的东西,它将通过将字符串拆分为3的部分来打印苯丙氨酸苯丙氨酸亮氨酸 例子 可以将一个字符分为三个字符组Python 如何将字符串拆分为3组,然后相应地打印到该组?,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,这个问题是重复的。我知道。然而,最后一个答案是针对Python2.7的,并且在终端中使用过,我还需要将其他一些东西纳入其中 这是我的代码: n=3 xdict={ 苯丙氨酸:[UUU,UUC],亮氨酸:[UUA,CUU,CUC,CUA,CUG,UUG], 异亮氨酸:[AUU,AUC,AUA],蛋氨酸:AUG,缬氨酸:[GUU,GUC,GUA,GUG], 丝氨酸:[UCU,UCC,UCA,UCG],脯氨酸:[CCU,CCC,CCA,CCG], 苏氨酸:[ACU,ACC,ACA,ACG],丙氨酸:[
n = 3
xdict = {
"Phenylalanine": ["UUU", "UUC"],
"Leucine": ["UUA", "CUU", "CUC", "CUA", "CUG", "UUG"],
"Isoleucine": ["AUU", "AUC", "AUA"],
"Methionine": "AUG",
"Valine": ["GUU", "GUC", "GUA", "GUG"],
"Serine": ["UCU", "UCC", "UCA", "UCG"],
"Proline": ["CCU", "CCC", "CCA", "CCG"],
"Threonine": ["ACU", "ACC", "ACA", "ACG"],
"Alanine": ["GCU", "GCC", "GCA", "GCG"],
"Tyrosine": ["UAU", "UAC"],
"Histidine": ["CAU", "CAC"],
"Glutamine": ["CAA", "CAG"],
"Asparagine": ["AAU", "AAC"],
"Lysine": ["AAA", "AAG"],
"Asparatic Acid": ["GAU", "GAC"],
"Glutamic Acid": ["GAA", "GAG"],
"Cysteine": ["UGU", "UGC"],
"Trytophan": "UGG",
"Arginine": ["CGU", "CGC", "CGA", "CGG", "AGG", "AGA"],
"Serine": ["AGU", "AGC"],
"Glycine": ["GGU", "GGC", "GGA", "GGG"]
}
lookup_dict = {k: key for key, values in xdict.items() for k in values}
a = 'UUUUUCUUA' # input("Enter your DNA sequence: ")
for k in [a[i:i + n] for i in range(0, len(a), n)]:
print(lookup_dict[k])
可以将一个字符分为三个字符组
n = 3
xdict = {
"Phenylalanine": ["UUU", "UUC"],
"Leucine": ["UUA", "CUU", "CUC", "CUA", "CUG", "UUG"],
"Isoleucine": ["AUU", "AUC", "AUA"],
"Methionine": "AUG",
"Valine": ["GUU", "GUC", "GUA", "GUG"],
"Serine": ["UCU", "UCC", "UCA", "UCG"],
"Proline": ["CCU", "CCC", "CCA", "CCG"],
"Threonine": ["ACU", "ACC", "ACA", "ACG"],
"Alanine": ["GCU", "GCC", "GCA", "GCG"],
"Tyrosine": ["UAU", "UAC"],
"Histidine": ["CAU", "CAC"],
"Glutamine": ["CAA", "CAG"],
"Asparagine": ["AAU", "AAC"],
"Lysine": ["AAA", "AAG"],
"Asparatic Acid": ["GAU", "GAC"],
"Glutamic Acid": ["GAA", "GAG"],
"Cysteine": ["UGU", "UGC"],
"Trytophan": "UGG",
"Arginine": ["CGU", "CGC", "CGA", "CGG", "AGG", "AGA"],
"Serine": ["AGU", "AGC"],
"Glycine": ["GGU", "GGC", "GGA", "GGG"]
}
lookup_dict = {k: key for key, values in xdict.items() for k in values}
a = 'UUUUUCUUA' # input("Enter your DNA sequence: ")
for k in [a[i:i + n] for i in range(0, len(a), n)]:
print(lookup_dict[k])
列表理解要求循环中有[]
[line[i:i+n] for i in range(0, len(line), n)]
是每个长度为3的字符串的列表。将代码中的最后两行替换为以下内容:
for s in [line[i:i+n] for i in range(0, len(line), n)]:
print(lookup_dict[s])
列表理解要求循环中有[]
[line[i:i+n] for i in range(0, len(line), n)]
是每个长度为3的字符串的列表。将代码中的最后两行替换为以下内容:
for s in [line[i:i+n] for i in range(0, len(line), n)]:
print(lookup_dict[s])
您可以将列表的内部xdict更改为集合并使用交叉点
xdict = {
"Phenylalanine": {"UUU", "UUC"},
"Leucine": {"UUA", "CUU", "CUC", "CUA", "CUG", "UUG"},
"Isoleucine": {"AUU", "AUC", "AUA"},
"Methionine": {"AUG"},
"Valine": {"GUU", "GUC", "GUA", "GUG"},
"Serine": {"UCU", "UCC", "UCA", "UCG"},
"Proline": {"CCU", "CCC", "CCA", "CCG"},
"Threonine": {"ACU", "ACC", "ACA", "ACG"},
"Alanine": {"GCU", "GCC", "GCA", "GCG"},
"Tyrosine": {"UAU", "UAC"},
"Histidine": {"CAU", "CAC"},
"Glutamine": {"CAA", "CAG"},
"Asparagine": {"AAU", "AAC"},
"Lysine": {"AAA", "AAG"},
"Asparatic Acid": {"GAU", "GAC"},
"Glutamic Acid": {"GAA", "GAG"},
"Cysteine": {"UGU", "UGC"},
"Trytophan": {"UGG"},
"Arginine": {"CGU", "CGC", "CGA", "CGG", "AGG", "AGA"},
"Serine": {"AGU", "AGC"},
"Glycine": {"GGU", "GGC", "GGA", "GGG"}
}
使用从文本换行到拆分输入的换行
from textwrap import wrap
a = set(wrap("UUUUUAUUC", 3)) # {'UUA', 'UUC', 'UUU'}
print([key for key, value in xdict.items() for _ in value & a])
您可以将列表的内部xdict更改为集合并使用交叉点
xdict = {
"Phenylalanine": {"UUU", "UUC"},
"Leucine": {"UUA", "CUU", "CUC", "CUA", "CUG", "UUG"},
"Isoleucine": {"AUU", "AUC", "AUA"},
"Methionine": {"AUG"},
"Valine": {"GUU", "GUC", "GUA", "GUG"},
"Serine": {"UCU", "UCC", "UCA", "UCG"},
"Proline": {"CCU", "CCC", "CCA", "CCG"},
"Threonine": {"ACU", "ACC", "ACA", "ACG"},
"Alanine": {"GCU", "GCC", "GCA", "GCG"},
"Tyrosine": {"UAU", "UAC"},
"Histidine": {"CAU", "CAC"},
"Glutamine": {"CAA", "CAG"},
"Asparagine": {"AAU", "AAC"},
"Lysine": {"AAA", "AAG"},
"Asparatic Acid": {"GAU", "GAC"},
"Glutamic Acid": {"GAA", "GAG"},
"Cysteine": {"UGU", "UGC"},
"Trytophan": {"UGG"},
"Arginine": {"CGU", "CGC", "CGA", "CGG", "AGG", "AGA"},
"Serine": {"AGU", "AGC"},
"Glycine": {"GGU", "GGC", "GGA", "GGG"}
}
使用从文本换行到拆分输入的换行
from textwrap import wrap
a = set(wrap("UUUUUAUUC", 3)) # {'UUA', 'UUC', 'UUU'}
print([key for key, value in xdict.items() for _ in value & a])
你能给我们更多的输出例子吗?在0,lenline,n范围内,i的行[i:i+n]没有任何作用。您没有将结果列表保存在任何位置-例如,通过将其存储在变量中:新变量=行[i:i+n]表示范围0、lenline、nCan中的i,您能给我们更多输出示例吗?行[i:i+n]表示范围0、lenline、n中的i,它没有做任何事情。您没有将结果列表保存在任何位置-例如,将其存储在变量中:new_variable=line[i:i+n]表示范围0、lenline、n中的i