【发布时间】:2019-05-16 07:05:50
【问题描述】:
我是 python 编码的新手,这是我给自己的一项任务,以了解这门语言。
我正在尝试返回与 DNA 字符串相反的字符串:
- T -> A
- A -> T
- C -> G
- G -> C
我在下面编写了代码,但它似乎没有迭代。我在函数中放了一个print(x) 行来检查它是否完全通过字符串,但没有返回任何字符串。
也不返回任何错误。
s = "AACCGGCCAA"
def repl(x):
print(x)
if x == "A": return "T"
elif x == "T": return "A"
elif x == "C": return "G"
elif x == "G": return "C"
output = map(repl, s)
print(output)
预期的输出是:TTGGCCGGTT
我得到的所有输出都是<map object at 0x02A9F8D0>,为什么不是字符串?
【问题讨论】:
-
我得到了正确和预期的输出。你可以试试
output = list(map(repl, s)),因为它是python 3 -
@vks 我得到的只是
<map object at 0x02A9F8D0>。会不会是任何设置都弄乱了输出? -
@TimStack 这不是 “无输出”,正如您在问题中所声称的那样。
-
@TimStack 您需要将
list与map一起使用,并且您说没有输出,这会造成更多混乱。 -
@vks 使用
list将不会给我想要的输出
标签: python python-3.x pycharm map-function