You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现DNA转RNA替换T为U时报dict不可调用如何解决?

报错原因
  • Python中字典的取值语法是字典[键]或者字典.get(键, 默认值),你代码中使用圆括号base_change(n,n)的写法属于函数调用语法,字典不是可调用对象,因此触发'dict' object is not callable报错。
  • 除此之外你的代码还有两个可优化点:
    • 不需要额外调用upper()方法,你已经在字典中对大小写t都做了映射
    • 直接访问base_change[n]的话,如果输入的碱基是A/C/G等不在字典键中的字符,会抛出KeyError,需要用get方法设置默认返回值
修正后的代码

方案1:基于原有逻辑修改

def transcribe_dna_to_rna(s):
    base_change = {"t":"U", "T":"U"}
    replace = "".join([base_change.get(n, n) for n in s])
    return replace

方案2:更简洁的实现(性能更高)

如果需要保留其他碱基的原有大小写:

def transcribe_dna_to_rna(s):
    return s.replace('T', 'U').replace('t', 'U')

如果需要统一输出为大写:

def transcribe_dna_to_rna(s):
    return s.upper().replace('T', 'U')

内容的提问来源于stack exchange,提问作者Maskurate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:48:03