python-3.x - 努力寻找不同氨基酸的数量
问题描述
def amino_acids(mrna):
aa_dict = {'CUU': 'Leu', 'UAG': '---', 'ACA': 'Thr', 'AAA': 'Lys', 'AUC': 'Ile',
'AAC': 'Asn','AUA': 'Ile', 'AGG': 'Arg', 'CCU': 'Pro', 'ACU': 'Thr',
'AGC': 'Ser','AAG': 'Lys', 'AGA': 'Arg', 'CAU': 'His', 'AAU': 'Asn',
'AUU': 'Ile','CUG': 'Leu', 'CUA': 'Leu', 'CUC': 'Leu', 'CAC': 'His',
'UGG': 'Trp','CAA': 'Gln', 'AGU': 'Ser', 'CCA': 'Pro', 'CCG': 'Pro',
'CCC': 'Pro', 'UAU': 'Tyr', 'GGU': 'Gly', 'UGU': 'Cys', 'CGA': 'Arg',
'CAG': 'Gln', 'UCU': 'Ser', 'GAU': 'Asp', 'CGG': 'Arg', 'UUU': 'Phe',
'UGC': 'Cys', 'GGG': 'Gly', 'UGA':'---', 'GGA': 'Gly', 'UAA': '---',
'ACG': 'Thr', 'UAC': 'Tyr', 'UUC': 'Phe', 'UCG': 'Ser', 'UUA': 'Leu',
'UUG': 'Leu', 'UCC': 'Ser', 'ACC': 'Thr', 'UCA': 'Ser', 'GCA': 'Ala',
'GUA': 'Val', 'GCC': 'Ala', 'GUC': 'Val', 'GGC':'Gly', 'GCG': 'Ala',
'GUG': 'Val', 'GAG': 'Glu', 'GUU': 'Val', 'GCU': 'Ala', 'GAC': 'Asp',
'CGU': 'Arg', 'GAA': 'Glu', 'AUG': 'Met', 'CGC': 'Arg'}
mrna_list = [aa_dict[mrna[i:i + 3]] for i in range(0, len(mrna) - 1, 3)]
count = 0
while True:
if mrna_list[count] == '---':
mrna_list = mrna_list[:count]
break
else:
count += 1
conversion_result = tuple(mrna_list)
return [conversion_result, count]
这是我当前的输出
amino_acids('AUGUCGGCACAUUUAUGCUCCUAAUCC')
[('Met', 'Ser', 'Ala', 'His', 'Leu', 'Cys', 'Ser'), 7]
Expected output
[('Met', 'Ser', 'Ala', 'His', 'Leu', 'Cys', 'Ser'), 6]
解决方案
要仅获取列表的唯一元素,您通常可以将其转换为 aset
并返回(至少,当它仅包含字符串或数字等简单内容时)。然后,您可以通过获取该集合的长度来找到唯一元素的数量:
conversion_result = tuple(mrna_list)
return [conversion_result, len(set(conversion_result))
推荐阅读
- python - 将 VGG 模型的图像大小从 64x64 调整为 224x224
- android - 溢出-x:滚动!重要不能在三星互联网上使用翻译的 SVG
- kubernetes - Openshift:oc登录失败
- python - 有没有办法在 Blender 中使用 python 脚本复制/粘贴动作关键帧?
- c# - 用户角色限制访问某些用户以显示某些页面
- git - 在构建结束时提交/推送更改到 Azure DevOps 存储库
- reactjs - React 子组件(Typescript)在第三次渲染之前不会保留状态
- python-3.x - 在列表理解中使用错误处理将字符串转换为浮点数
- angular-cli-v7 - 如何使用 Angular 8 构建 bundle.js?
- java - Map(带操作)Stream java 8、nestedList